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

SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
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
 
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.
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
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
 
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
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
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
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
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
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
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
 
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
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
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
 

Recently uploaded (20)

SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
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
 
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 ...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
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
 
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
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
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
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
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
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
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
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
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
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
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...
 

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