SlideShare a Scribd company logo
1 of 27
Download to read offline
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 Model in Multi-Language
Environment
Mufrid Krilic, Senior Software Developer/Coach DIPS AS, Norway
@mufridk
with examples from 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
▪ Main features:
– Native domain language is not English
– Programming language based on English
– Discussions with domain experts in the native language
Multi-Language Environment
@mufridk
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
▪ Dilemma:
– Translate to English or keep the business rules in native language
Challenges of a Multi-Language Environment
@mufridk
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
▪ Translation impedes development of the Ubiquitous Language
– Front-end and documentation is preferably in the native language
– «Isn’t translation a technical concern?»
@mufridk
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
▪ Challenges of keeping business rules in native language
– Non-native speaking developers coming in
– Integration challenges with application logic
– Integration with external systems
• Anti-Corruption Layer definitely becomes a translation layer
@mufridk
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
@mufridk
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
▪ Well-established legacy system leaves a legacy of terms that have
become a part of Ubiquitous Language
– E.g. originally introduced by developers then adopted by users
– With proprietary semantics that is difficult to translate
Legacy of the Legacy System
@mufridk
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 business rules coded in Norwegian
– Leaving us with very few leads on well-proven translation suggestions
▪ In retrospect
– Definitely something to consider, however
Legacy of the Legacy System
@mufridk
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
Team
Bounded
Context
Subdomain
Translation Introduced Context Mapping Challenges
@mufridk
Team needs to integrate with a Bounded Context
Based on a domain term from
the subdomain
Which translation was used?
What team owns the context?
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
▪ Relational database translation views
– Database table with column names in Norwegian
– Each table has a “translation view” that maps Norwegian column names to
English
– Issue:
• Too tech, too far from the domain experts
Documenting Translations – First Iteration
@mufridk
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
▪ Translations exclusively based on healthcare standards
– Issues:
• Difficult to enforce
• Everybody is confused as to what term to use as standards are not dictionary
– Unlooked-for side-effect:
• Rigorous formal terms enter the Ubiquitous Language:
– “Health Care Provider” and “Health Care Party”, not Doctor or Physician
Documenting Translations – Second Iteration
@mufridk
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
▪ Evolving in-house Wiki dictionary based on applied translations
– Each Norwegian term is mapped to its English translation and the Bounded
Context where the domain term is applied
– Issues:
• Domain expert friendly but too far from code.
• Maintenance is left to a couple of enthusiasts
Documenting Translations – Third Iteration
@mufridk
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
▪ Global model thinking in enterprise environment
– The firm belief that concepts can be represented outside of individual
subjects and in a single coherent manner
• by a single authority
• then shared by everyone to implement universal interoperability
▪ As opposed to DDD and Bounded Contexts
▪ Could we learn something here?
Every approach was attempted at enterprise-wide scale
@mufridk
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
▪ Dedicated Slack-channel #domainlanguage
– For discussions on semantics of domain terms and possible translations
– Without explicit mentioning of DDD or bounded contexts
Documenting Translations – Fourth Iteration
@mufridk
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
▪ Discussions offer historical perspective on legacy domain terms by
people involved in creating the terms
▪ Positive side-effects:
– Revealing hard-to-find domain expert!
Enterprise-wide Slack discussions #domainlanguage
@mufridk
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
▪ Inconsistencies in domain language are highlighted
– Could the obvious inconsistencies challenge global model thinking?
– Thus paving the path for DDD-mindset?
– The effects on this approach are still under observation
Enterprise-wide Slack discussions #domainlanguage
@mufridk
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
Story of a team working in multi-language environment:
Discovering Ubiquitous Language
@mufridk
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
▪ Finding the name for a process of referring a patient, currently being
under treatment in a hospital, to another hospital for more
specialized or extensive care.
Story: Discovering “Inter-Hospital Referral”
@mufridk
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 term in Norwegian: “Viderehenvisning”
▪ Initial suggestion by the team: Referral Forwarding
– Because: “Henvisning” ~ Referral and “Videresende e-post” ~ E-mail
forwarding.
▪ The team opted to challenge in-house domain experts
The Story Continues
@mufridk
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
▪ Please suggest the translation
– and how does Referral Forwarding sound like?
▪ We got the answer….
– Referral Forwarding is ok
– …. And no other suggestions!
▪ I guess that’s what happens when trying to introduce the terms in
the Ubiquitous Language by ourselves
– You run into confirmation bias
The Story Continues
@mufridk
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
▪ Starting to pay more attention to the language of domain experts
– Repeatedly discussing that the primary use case is to create a new referral
– Users will not be forwarding a referral to another hospital
– Users will be referring a patient to another hospital
The Story Continues
@mufridk
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
▪ Challenging the customer
– Please suggest a translation ☺
– We got confirmation that, from a user’s perspective, the process is about
referring a patient to another hospital
– i.e. creating a new referral to be evaluated at another hospital
– “Hence it is just another Referral but if you want an alternative suggestion
you could go with Inter-Hospital Referral”
The Story Continues
@mufridk
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
▪ Recognizing the need to have efficient translations that are as close
as semantically possible to domain terms in the native language
▪ Documenting the translations is worth a try
▪ Involve the domain expert closely in the translation process
▪ If we could turn back time…..
– Reconsidering use of native language in domain model
Lessons Learned
@mufridk
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
▪ Global model thinking is tempting
– Vision of a concise definitions that apply everywhere which everybody agrees
on thus solving many communication issues in the organization
• Acknowledging that it is an attractive option for many
▪ DDD bounded contexts approach perhaps not intuitive to everyone
– Difficult to visualize the contexts while discussing them
– Need to address global model thinking with new perspectives
Deeper Lessons Learned
@mufridk
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
▪ Advantages of Multi-language environment
– Cultural context is there by default
– Synonyms and subtle semantic differences forces teams to focus on language
Domain Model in Multi-Language Environments
@mufridk
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
▪ https://www.webfactory.de/blog/ubiquitous-language-in-a-non-
english-domain
▪ Community discussion:
– https://softwareengineering.stackexchange.com/questions/41160/programm
ing-and-ubiquitous-language-ddd-in-a-non-english-domain
Related Discussions
@mufridk
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
▪ This presentation will be soon available on the muCon London
website at the following link
– https://skillsmatter.com/conferences/11982-con-london-2019-the-
conference-on-microservices-ddd-and-software-architecture#skillscasts
▪ Announced on Twitter @mufridk
Video
@mufridk

More Related Content

Similar to Domain model in Multi-language Environment With Examples from Healthcare

Designers Are From Mars, Engineers Are From Venus
Designers Are From Mars, Engineers Are From VenusDesigners Are From Mars, Engineers Are From Venus
Designers Are From Mars, Engineers Are From VenusMotivate Design
 
Research data as an aid in teaching technical competence in subtitling
Research data as an aid in teaching technical competence in subtitlingResearch data as an aid in teaching technical competence in subtitling
Research data as an aid in teaching technical competence in subtitlingUniversity of Warsaw
 
Student Pipeline to Open Source Communities using HFOSS
Student Pipeline to Open Source Communities using HFOSSStudent Pipeline to Open Source Communities using HFOSS
Student Pipeline to Open Source Communities using HFOSSAll Things Open
 
Agility reboot ii
Agility reboot iiAgility reboot ii
Agility reboot iiAndrew Chum
 
Translation vs. Interpretation
Translation vs. Interpretation Translation vs. Interpretation
Translation vs. Interpretation Rolando Tellez
 
Translation vs. Interpretation
Translation vs. Interpretation Translation vs. Interpretation
Translation vs. Interpretation Rolando Tellez
 
6. proposal report presentation
6. proposal report presentation6. proposal report presentation
6. proposal report presentationNoor Farahin
 
BrianNorthWhat does the CEFR mean in practice? What's new?
BrianNorthWhat does the CEFR mean in practice? What's new?BrianNorthWhat does the CEFR mean in practice? What's new?
BrianNorthWhat does the CEFR mean in practice? What's new?eaquals
 
Brian North eaquals 2014
Brian North  eaquals 2014Brian North  eaquals 2014
Brian North eaquals 2014eaquals
 
EKowalenko_CrossCulturalStrategiesForSuccess
EKowalenko_CrossCulturalStrategiesForSuccessEKowalenko_CrossCulturalStrategiesForSuccess
EKowalenko_CrossCulturalStrategiesForSuccessEmma Kowalenko
 
Growing Your Freelance Business (Olga Melnikova)
Growing Your Freelance Business (Olga Melnikova)Growing Your Freelance Business (Olga Melnikova)
Growing Your Freelance Business (Olga Melnikova)Olga Melnikova
 
TRANSLATETECHNIQUES2 esta en ingles pero puede ser algo interesante cristo.pdf
TRANSLATETECHNIQUES2  esta en ingles pero puede ser algo interesante  cristo.pdfTRANSLATETECHNIQUES2  esta en ingles pero puede ser algo interesante  cristo.pdf
TRANSLATETECHNIQUES2 esta en ingles pero puede ser algo interesante cristo.pdfCarlosGPNCCUTIMB
 
5 STEPS TO AGILE EMPLOYEE DEVELOPMENT
5 STEPS TO AGILE EMPLOYEE DEVELOPMENT5 STEPS TO AGILE EMPLOYEE DEVELOPMENT
5 STEPS TO AGILE EMPLOYEE DEVELOPMENTHuman Capital Media
 
Level one assessment report
Level one assessment reportLevel one assessment report
Level one assessment reportsohana1
 
Hard and Soft skills: be successful in the IT market
Hard and Soft skills: be successful in the IT marketHard and Soft skills: be successful in the IT market
Hard and Soft skills: be successful in the IT marketDavide Benvegnù
 
Collaborating with Educational Diagnosticians in the Referral and Evaluation ...
Collaborating with Educational Diagnosticians in the Referral and Evaluation ...Collaborating with Educational Diagnosticians in the Referral and Evaluation ...
Collaborating with Educational Diagnosticians in the Referral and Evaluation ...Bilinguistics
 
Techniques for translation 2
Techniques for translation 2Techniques for translation 2
Techniques for translation 2Randy Morales
 
The Global Studio -- Reflective Writing
The Global Studio -- Reflective WritingThe Global Studio -- Reflective Writing
The Global Studio -- Reflective Writingerikbohemia
 

Similar to Domain model in Multi-language Environment With Examples from Healthcare (20)

Designers Are From Mars, Engineers Are From Venus
Designers Are From Mars, Engineers Are From VenusDesigners Are From Mars, Engineers Are From Venus
Designers Are From Mars, Engineers Are From Venus
 
Research data as an aid in teaching technical competence in subtitling
Research data as an aid in teaching technical competence in subtitlingResearch data as an aid in teaching technical competence in subtitling
Research data as an aid in teaching technical competence in subtitling
 
Student Pipeline to Open Source Communities using HFOSS
Student Pipeline to Open Source Communities using HFOSSStudent Pipeline to Open Source Communities using HFOSS
Student Pipeline to Open Source Communities using HFOSS
 
Agility reboot ii
Agility reboot iiAgility reboot ii
Agility reboot ii
 
Translation vs. Interpretation
Translation vs. Interpretation Translation vs. Interpretation
Translation vs. Interpretation
 
Translation vs. Interpretation
Translation vs. Interpretation Translation vs. Interpretation
Translation vs. Interpretation
 
DTA Toolkit_Reference
DTA Toolkit_ReferenceDTA Toolkit_Reference
DTA Toolkit_Reference
 
6. proposal report presentation
6. proposal report presentation6. proposal report presentation
6. proposal report presentation
 
BrianNorthWhat does the CEFR mean in practice? What's new?
BrianNorthWhat does the CEFR mean in practice? What's new?BrianNorthWhat does the CEFR mean in practice? What's new?
BrianNorthWhat does the CEFR mean in practice? What's new?
 
Brian North eaquals 2014
Brian North  eaquals 2014Brian North  eaquals 2014
Brian North eaquals 2014
 
EKowalenko_CrossCulturalStrategiesForSuccess
EKowalenko_CrossCulturalStrategiesForSuccessEKowalenko_CrossCulturalStrategiesForSuccess
EKowalenko_CrossCulturalStrategiesForSuccess
 
Growing Your Freelance Business (Olga Melnikova)
Growing Your Freelance Business (Olga Melnikova)Growing Your Freelance Business (Olga Melnikova)
Growing Your Freelance Business (Olga Melnikova)
 
TRANSLATETECHNIQUES2 esta en ingles pero puede ser algo interesante cristo.pdf
TRANSLATETECHNIQUES2  esta en ingles pero puede ser algo interesante  cristo.pdfTRANSLATETECHNIQUES2  esta en ingles pero puede ser algo interesante  cristo.pdf
TRANSLATETECHNIQUES2 esta en ingles pero puede ser algo interesante cristo.pdf
 
5 STEPS TO AGILE EMPLOYEE DEVELOPMENT
5 STEPS TO AGILE EMPLOYEE DEVELOPMENT5 STEPS TO AGILE EMPLOYEE DEVELOPMENT
5 STEPS TO AGILE EMPLOYEE DEVELOPMENT
 
Level one assessment report
Level one assessment reportLevel one assessment report
Level one assessment report
 
Abc of translators
Abc of translatorsAbc of translators
Abc of translators
 
Hard and Soft skills: be successful in the IT market
Hard and Soft skills: be successful in the IT marketHard and Soft skills: be successful in the IT market
Hard and Soft skills: be successful in the IT market
 
Collaborating with Educational Diagnosticians in the Referral and Evaluation ...
Collaborating with Educational Diagnosticians in the Referral and Evaluation ...Collaborating with Educational Diagnosticians in the Referral and Evaluation ...
Collaborating with Educational Diagnosticians in the Referral and Evaluation ...
 
Techniques for translation 2
Techniques for translation 2Techniques for translation 2
Techniques for translation 2
 
The Global Studio -- Reflective Writing
The Global Studio -- Reflective WritingThe Global Studio -- Reflective Writing
The Global Studio -- Reflective Writing
 

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

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
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.
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
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
 
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
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
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
 
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
 
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
 
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
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
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.
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 

Recently uploaded (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
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...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
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
 
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...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
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...
 
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
 
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
 
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...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
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 ...
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 

Domain model in Multi-language Environment With Examples from 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 Domain Model in Multi-Language Environment Mufrid Krilic, Senior Software Developer/Coach DIPS AS, Norway @mufridk with examples from healthcare
  • 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 ▪ Main features: – Native domain language is not English – Programming language based on English – Discussions with domain experts in the native language Multi-Language Environment @mufridk
  • 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 ▪ Dilemma: – Translate to English or keep the business rules in native language Challenges of a Multi-Language Environment @mufridk
  • 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 ▪ Translation impedes development of the Ubiquitous Language – Front-end and documentation is preferably in the native language – «Isn’t translation a technical concern?» @mufridk
  • 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 ▪ Challenges of keeping business rules in native language – Non-native speaking developers coming in – Integration challenges with application logic – Integration with external systems • Anti-Corruption Layer definitely becomes a translation layer @mufridk
  • 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 @mufridk
  • 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 ▪ Well-established legacy system leaves a legacy of terms that have become a part of Ubiquitous Language – E.g. originally introduced by developers then adopted by users – With proprietary semantics that is difficult to translate Legacy of the Legacy System @mufridk
  • 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 business rules coded in Norwegian – Leaving us with very few leads on well-proven translation suggestions ▪ In retrospect – Definitely something to consider, however Legacy of the Legacy System @mufridk
  • 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 Team Bounded Context Subdomain Translation Introduced Context Mapping Challenges @mufridk Team needs to integrate with a Bounded Context Based on a domain term from the subdomain Which translation was used? What team owns the context?
  • 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 ▪ Relational database translation views – Database table with column names in Norwegian – Each table has a “translation view” that maps Norwegian column names to English – Issue: • Too tech, too far from the domain experts Documenting Translations – First Iteration @mufridk
  • 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 ▪ Translations exclusively based on healthcare standards – Issues: • Difficult to enforce • Everybody is confused as to what term to use as standards are not dictionary – Unlooked-for side-effect: • Rigorous formal terms enter the Ubiquitous Language: – “Health Care Provider” and “Health Care Party”, not Doctor or Physician Documenting Translations – Second Iteration @mufridk
  • 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 ▪ Evolving in-house Wiki dictionary based on applied translations – Each Norwegian term is mapped to its English translation and the Bounded Context where the domain term is applied – Issues: • Domain expert friendly but too far from code. • Maintenance is left to a couple of enthusiasts Documenting Translations – Third Iteration @mufridk
  • 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 ▪ Global model thinking in enterprise environment – The firm belief that concepts can be represented outside of individual subjects and in a single coherent manner • by a single authority • then shared by everyone to implement universal interoperability ▪ As opposed to DDD and Bounded Contexts ▪ Could we learn something here? Every approach was attempted at enterprise-wide scale @mufridk
  • 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 ▪ Dedicated Slack-channel #domainlanguage – For discussions on semantics of domain terms and possible translations – Without explicit mentioning of DDD or bounded contexts Documenting Translations – Fourth Iteration @mufridk
  • 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 ▪ Discussions offer historical perspective on legacy domain terms by people involved in creating the terms ▪ Positive side-effects: – Revealing hard-to-find domain expert! Enterprise-wide Slack discussions #domainlanguage @mufridk
  • 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 ▪ Inconsistencies in domain language are highlighted – Could the obvious inconsistencies challenge global model thinking? – Thus paving the path for DDD-mindset? – The effects on this approach are still under observation Enterprise-wide Slack discussions #domainlanguage @mufridk
  • 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 Story of a team working in multi-language environment: Discovering Ubiquitous Language @mufridk
  • 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 ▪ Finding the name for a process of referring a patient, currently being under treatment in a hospital, to another hospital for more specialized or extensive care. Story: Discovering “Inter-Hospital Referral” @mufridk
  • 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 ▪ Domain term in Norwegian: “Viderehenvisning” ▪ Initial suggestion by the team: Referral Forwarding – Because: “Henvisning” ~ Referral and “Videresende e-post” ~ E-mail forwarding. ▪ The team opted to challenge in-house domain experts The Story Continues @mufridk
  • 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 ▪ Please suggest the translation – and how does Referral Forwarding sound like? ▪ We got the answer…. – Referral Forwarding is ok – …. And no other suggestions! ▪ I guess that’s what happens when trying to introduce the terms in the Ubiquitous Language by ourselves – You run into confirmation bias The Story Continues @mufridk
  • 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 ▪ Starting to pay more attention to the language of domain experts – Repeatedly discussing that the primary use case is to create a new referral – Users will not be forwarding a referral to another hospital – Users will be referring a patient to another hospital The Story Continues @mufridk
  • 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 ▪ Challenging the customer – Please suggest a translation ☺ – We got confirmation that, from a user’s perspective, the process is about referring a patient to another hospital – i.e. creating a new referral to be evaluated at another hospital – “Hence it is just another Referral but if you want an alternative suggestion you could go with Inter-Hospital Referral” The Story Continues @mufridk
  • 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 ▪ Recognizing the need to have efficient translations that are as close as semantically possible to domain terms in the native language ▪ Documenting the translations is worth a try ▪ Involve the domain expert closely in the translation process ▪ If we could turn back time….. – Reconsidering use of native language in domain model Lessons Learned @mufridk
  • 24. 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 ▪ Global model thinking is tempting – Vision of a concise definitions that apply everywhere which everybody agrees on thus solving many communication issues in the organization • Acknowledging that it is an attractive option for many ▪ DDD bounded contexts approach perhaps not intuitive to everyone – Difficult to visualize the contexts while discussing them – Need to address global model thinking with new perspectives Deeper Lessons Learned @mufridk
  • 25. 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 ▪ Advantages of Multi-language environment – Cultural context is there by default – Synonyms and subtle semantic differences forces teams to focus on language Domain Model in Multi-Language Environments @mufridk
  • 26. 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 ▪ https://www.webfactory.de/blog/ubiquitous-language-in-a-non- english-domain ▪ Community discussion: – https://softwareengineering.stackexchange.com/questions/41160/programm ing-and-ubiquitous-language-ddd-in-a-non-english-domain Related Discussions @mufridk
  • 27. 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 ▪ This presentation will be soon available on the muCon London website at the following link – https://skillsmatter.com/conferences/11982-con-london-2019-the- conference-on-microservices-ddd-and-software-architecture#skillscasts ▪ Announced on Twitter @mufridk Video @mufridk