Domain Analysis Model Development Guidelines
Clinical Interoperability Council Working Group
Acknowledgment
• Anita WaldenPrepared the initial presentation, allowed the use of material from earlier presentations.
• Abdul-Malik ShakirProvided definition and discussion of DAM components based on work for NCI.
Purpose of a DAM:
Patient
Clinician
Healthcare Data Systems
Patient care
Quality Improvement
Research
Reimbursement
Post Marketing Safety
Decision Support
Administration & Mgt.
Public Health Reporting
…
Data Uses
Single Source Multiple Uses
Construction Procedures
• Standardize at source healthcare– Data element as atomic unit of exchange– Specificity sufficient for semantic interoperability
• Include all StakeholdersExamples– Public Health Representation CDC– Quality Imp. Professional Societies– Research representation CDISC,NIH,FDA
Goals for the Guide• Provide CIC DAM project groups with a guide on
developing Clinical DAMs• Promote reuse of DAM components in subsequent DAM
projects • Provide DAMs with similar designs: increase consistency
for smoother harmonization, for integration with other DAMs and HL7 artifacts
• Improve the quality of the specifications used to develop HL7 products: messages, EHR profiles, CDAs
Guide Table of Contents StatusIntroduction CompleteObjective CompleteDAM Definition CompleteResources CompleteHL7 Project Process In progressTooling (Enterprise Architect, Excel, Word, CaDSR) In progress
DAM Modules Draft
Requirement Gathering Process Draft
DAM Modeling Styles In progress
Next Steps (DCMs, relationship between enumeration in DAM) In progress
What is a DAM?
• An analysis model developed to improve communication between stakeholders from different organizations. This requirements document is used to formally define and structure data and/or process information to develop specifications within HL7 (e.g., Messaging, EHR functional models, DCMs).
HL7 Educational Resources
Tutorials relating to working on DAMs:• Introduction to the HDF• Domain Analysis Modeling• Introduction to UML• Introduction to Project Insight• Introduction to V3
DAM and the HL7 Process
• First comes the project statement• Determine who is involved
– Collaborate with the relevant working groups– Include international communities & affiliates
• Follow the HDF/SAEF process• Ballot as an informative document
DAM Components• An HL7 Domain Analysis Model (DAM) is
not simply an information model. • The DAM may include multiple diagram
types. This section discusses the components of a DAM, and their relationships.
Components in a picture
Story BoardsData Elements
Use CasesActivitiesClasses,Attributes
Defines data requirements forMust correspond or map
Indicate CRUD/Define data supported
Illustrate/Define the workflow for
State ModelIndicates behaviorof key classes
Illustrate/Identify key functions for
ECCF (Enterprise Conformance and Compliance
Framework)
Story Board/Scenario• Rationale:
Provide a story of some relevant occurrence – sequence of events.• Example:
Wallace Wackyford, a Fun Store employee, submitted an adverse event report to the FDA to report an incident after being contacted by the principal of the Central Z Middle School. A black color face paint (item# 5), produced by Coverings Corporation, as listed on the label, was applied to the students as part of a special theme day. Approximately 300 students received an application of face paint with different brushes. The following day, approximately 70 - 80 students reported having a rash on their face. Later the number of rashes had accumulated to approximately 173. A dozen or so students sought medical treatment. Medical information was not included in the report from Mr. Wackyford. The report was sent electronically using a web-based form. The web-based form translates the information into an HL7 ICSR and routes the report to the appropriate FDA safety evaluator for analysis.
Use Cases• Rationale:
Provide a more formal treatment of requirements than the storyboard.
• Describes a sequence of actions that provide a measurable value to an actor.
• The formality includes:– Identifying use case actors, – showing how actors participate in use cases,– defining the associations between use cases
• Example: See over
ACT02.05: Referred From Prov ider
REF-UC01.00-Create Referral Order
REF-UC03.00-Assess Referral Order
ACT02.02: Referred To Prov ider
REF-UC02.00-Update Referral Order
REF-UC04.00-Obtain Information
«actor»ACT10.01:
Information Source
«extend»
«extend»
Name:Package:Version:Author:
Referral Management Use CasesReferral Management Use Cases1.0Salimah Shakir
Data Elements• Rationale: Represent the data in a way that is more
intuitive to clinicians (non modelers) than a class mode (or use case diagram, or activity diagram)
• Allows easy pulling from forms or existing lists• Easy to consider as the unit of data exchangeExample:
ITEM NUMBER DOMAIN (Therapeutic)SUB-DOMAIN(SUBCLASS)
SUB-DOMAIN CATEGORY
(CLASS, DataElement
Concept)
DATA ELEMENT
(ATTRIBUTE, Value Domain) DEFINITION Data Type PERMISSIBLE VALUES PERMISSIBLE VALUE DEFINITIONS CITATION
CommonMedical History
A record of the medical events involving the patient that occurred prior to this encounter. These events may be reported by the patient or come from past medical records.
Published CaBig CADSR model
1 Cardiovascular ACSMedical History
angina pectoris indicator
Indicator of w hether the patient has ever had an episode of angina pectoris. boolean
Published CaBig CADSR model
Example Part TwoData Element Name: History of peripheral vascular disease
Clinical Definition: Indicate if the patient has a history of peripheral vascular disease. This can include:
1. Claudication either with exertion or at rest.2. Amputation for arterial vascular insufficiency.3. Aorto-iliac occlusive disease reconstruction, peripheral vascular bypass surgery, angioplasty or stent; or percutaneous intervention to the extremities.4. Documented abdominal aortic aneurysm (AAA) repair or stent.5. Positive non-invasive/invasive test.
This does not include procedures such as vein stripping, carotid disease, or procedures originating above the diaphragm.
Valid Values: Yes, No
Class & Attribute Component• Rationale:
represent the information needs of the domain with more formality than the data element list– Show how data elements clump into classes– Define relationships between classes.
• Supports downstream migration:– Ease the creation of HL7 RIM based
specifications.– Create an entry point for CaDSR migration.
• Example: See over
class Diagnosis
Common::RegistrationAsPatient
+ evaluationReasonCode: char+ uniquePatientId: char
Specimen
+ bodySiteCode: char+ collectionDate: Date+ specimenTypeCode: char
TuberculosisDiagnosis
+ confirmationMethodCode: char+ diagnosisticConclusion: char+ effectiveDate: Date
BodySiteAffected
+ anatomicSiteCode: char+ primaryIndicator: boolean
Organism
+ genotypeCode: char+ mycobacteriumSpeciesCode: char
SocialHistory
+ dateOfRecording: Date+ riskFactorForTuberculosisExposure: char
ContactRelationship
+ contactTypeCode: char
SignsAndSymptoms
+ dateOfRecording: Date+ durationOfCough: int+ durationOfFever: int+ presenceOfCough: boolean+ underlyingPulmonaryDisease: char
BCGVaccination
+ mostRecentVaccinationDate: Date+ multipleVaccinationIndicator: boolean+ reportingMethodCode: char+ vaccinationTimingCode: char
Imaging::Image
+ imageDate: Date+ imageTypeCode: char+ imagingTimePointCode: char+ interpretationCode: char+ reportText: char
Susceptibility
+ challengedSubstanceCode: char+ compoundConcentration: int+ resultCode: char
TuberculinSkinTest
+ blisteringStatus: char+ interpretationCode: char+ mantouxStrengtn: int+ quantitativeResult: int
Common::ProviderOrganization
+ name: char
Common::Person
+ dateOfBirth: Date+ dateOfDeath: Date+ deathIndicator: boolean+ emailAddress: char+ genderCode: char+ name: char+ postalAddress: char+ socialInsuranceNumber: char+ telephoneNumber: char
Common::PatientEncounter
+ chiefComplaint: char+ dischargeDate: int+ inpatientStatsIndicator: boolean+ startDate: Date
Common::Clinician
+ emailAddress: char+ name: char+ postalAddress: char+ professionalQualificationCode: char+ telephoneNumber: char
Treatment
+ AdministrationEvent+ AdministrationRecorder+ Assessment+ CourseOfTreatment+ DrugOrder+ TreatmentInitiation+ TreatmentInterruption+ TreatmentTermination+
(from TB_DAM)
HIVTesting
+ cd4AbsoluteCount: int+ cd4Percent: int+ specimenTypeCode: char+ testingDate: Date+ testTypeCode: char
SmearTest
+ InterpretationCode: char+ quantitativeResultCode: char+ SpecimenProcessingForSmearCode: char
InteferonGammaAssay
+ assayResultInterpretationCode: char+ elisaResult: int+ elispotResult: int
SolidMediaCulture
+ cultureMediaType: char+ resultCode: char
LiquidMediaCulture
+ cultureMediaType: char+ resultCode: char
Test
+ effectiveDateTime: int+ testingStatusCode: char+ typeCode: char
NucleicAcidAmplification
+ InterpretationCode: char
Imaging
+ Image+ ImageEvolution+ ImagingDetail
(from TB_DAM)
StatusSummaryInformation
+ bacil lusCalmetteGuerinStatusCode: char+ chestRadiographStatusCode: char+ computerAssistedTomographyIndicator: boolean+ episodeTypeCode: char+ hivStatusIndicator: boolean+ hivStatusMethodCode: char+ hivTestingIndicator: boolean+ magneticResonanceImagingIndicator: boolean+ patientTuberculosisStatusCode: char+ predisposingMedicalHistoryIndicator: boolean+ statusEffectiveDate: Date+ studyEnrollmentIndicator: boolean+ susceptibil ityTestingIndicator: boolean+ treatmentInterrruptionIndicator: boolean+ treatmentStatusCode: char+ tuberculosisTreatmentPhaseCode: char+ ultrasoundIndicator: boolean+ vaccineStatusCode: char
Name: DiagnosisAuthor: Mead WalkerVersion: 1.0Created: 7/1/2001 12:00:00 AMUpdated: 10/22/2007 2:59:44 PM
TuberculosisSymptom
+ dateOfOnsetOfTuberculosisSymptom: date- tuberculosisSymptomCode: char
MedicalHistory
+ predisposingMedicalHistory: char
+person
1
+signsAndSymptoms
0..1
+tuburculosisDiagnosis 1
+bodySiteAffectedCollection 0..*
+person
1+specimenCollection 0..*
+clinician
1+tuberculosisDiagnosisCollection
0..*
+sourcePerson1
+contactRelationshipCollection
0..*
+registrationAsPatient 1
+encounterCollection 0..*
+providerOrganization 1
+registrationAsPatientCollection
0..*
+person 1+registrationAsPatientCollection 0..*
+organism
1
+susceptibil i tyCollection 0..*
+Person
1
+riskFactorCollection
0..*
+liquidMediaCulture 0..1
+organismCollection 0..*
+targetPerson0..1
+contactRelationshipCollection
0..*
+clinician1
+patientEncounterCollection 0..*
+SignsAndSymptoms
1
+MedicalHistoryCollection 0..*+signsAndSymptoms 1
+TuberculosisSymptomCollection 0..*
+specimen 0..1
+testCollection 0..*+clnician
1
+riskFactorCollection 0..*
+person 1
+tuberculosisDiagnosisCollection0..*
+person
1
+bcgVaccinationCollection
0..*
+testCollection0..*
+person
1
+patientEncounter
0..1
+testCollection
0..*+clinician
1
+hivTestingCollection
0..*
+person 1
+hivTestingCollection
+Person
1
+StatusSummaryInformation
0..1
+person 1
+imageCollection
0..*
+clinician
1
+testCollection
0..*
+orderingClinician 1
+ImageCollection 0..*
+InterpretingClinician 1
+ImageCollection
+clinician1
+signsAndSymptoms 0..1
+solidMediaCulture 0..1
+organismCollection 0..*
+clinician1
+bcgVaccinationCollection 0..*
TB Class Component
class Diagnosis
Common::RegistrationAsPatient
+ evaluationReasonCode: char+ uniquePatientId: char
Specimen
+ bodySiteCode: char+ collectionDate: Date+ specimenTypeCode: char
TuberculosisDiagnosis
+ confirmationMethodCode: char+ diagnosisticConclusion: char+ effectiveDate: Date
BodySiteAffected
+ anatomicSiteCode: char+ primaryIndicator: boolean
Organism
+ genotypeCode: char+ mycobacteriumSpeciesCode: char
SocialHistory
+ dateOfRecording: Date+ riskFactorForTuberculosisExposure: char
ContactRelationship
+ contactTypeCode: char
SignsAndSymptoms
+ dateOfRecording: Date+ durationOfCough: int+ durationOfFever: int+ presenceOfCough: boolean+ underlyingPulmonaryDisease: char
BCGVaccination
+ mostRecentVaccinationDate: Date+ multipleVaccinationIndicator: boolean+ reportingMethodCode: char+ vaccinationTimingCode: char
Imaging::Image
+ imageDate: Date+ imageTypeCode: char+ imagingTimePointCode: char+ interpretationCode: char+ reportText: char
Susceptibility
+ challengedSubstanceCode: char+ compoundConcentration: int+ resultCode: char
TuberculinSkinTest
+ blisteringStatus: char+ interpretationCode: char+ mantouxStrengtn: int+ quantitativeResult: int
Common::Prov iderOrganization
+ name: char
Common::Person
+ dateOfBirth: Date+ dateOfDeath: Date+ deathIndicator: boolean+ emailAddress: char+ genderCode: char+ name: char+ postalAddress: char+ socialInsuranceNumber: char+ telephoneNumber: char
Common::PatientEncounter
+ chiefComplaint: char+ dischargeDate: int+ inpatientStatsIndicator: boolean+ startDate: Date
Common::Clinician
+ emailAddress: char+ name: char+ postalAddress: char+ professionalQualificationCode: char+ telephoneNumber: char
Treatment
+ AdministrationEvent+ AdministrationRecorder+ Assessment+ CourseOfTreatment
+ DrugOrder+ TreatmentInitiation
+ TreatmentInterruption
+ TreatmentTermination+
(from TB_DAM)
HIVTesting
+ cd4AbsoluteCount: int+ cd4Percent: int+ specimenTypeCode: char+ testingDate: Date+ testTypeCode: char
SmearTest
+ InterpretationCode: char+ quantitativeResultCode: char+ SpecimenProcessingForSmearCode: char
InteferonGammaAssay
+ assayResultInterpretationCode: char+ elisaResult: int+ elispotResult: int
SolidMediaCulture
+ cultureMediaType: char+ resultCode: char
LiquidMediaCulture
+ cultureMediaType: char+ resultCode: char
Test
+ effectiveDateTime: int+ testingStatusCode: char+ typeCode: char
NucleicAcidAmplification
+ InterpretationCode: char
Imaging
+ Image
+ ImageEvolution+ ImagingDetail
(from TB_DAM)
StatusSummaryInformation
+ bacil lusCalmetteGuerinStatusCode: char+ chestRadiographStatusCode: char+ computerAssistedTomographyIndicator: boolean+ episodeTypeCode: char+ hivStatusIndicator: boolean+ hivStatusMethodCode: char+ hivTestingIndicator: boolean+ magneticResonanceImagingIndicator: boolean+ patientTuberculosisStatusCode: char+ predisposingMedicalHistoryIndicator: boolean+ statusEffectiveDate: Date+ studyEnrollmentIndicator: boolean+ susceptibil ityTestingIndicator: boolean+ treatmentInterrruptionIndicator: boolean+ treatmentStatusCode: char+ tuberculosisTreatmentPhaseCode: char+ ultrasoundIndicator: boolean+ vaccineStatusCode: char
Name: DiagnosisAuthor: Mead WalkerVersion: 1.0Created: 7/1/2001 12:00:00 AMUpdated: 10/22/2007 2:59:44 PM
TuberculosisSymptom
+ dateOfOnsetOfTuberculosisSymptom: date- tuberculosisSymptomCode: char
MedicalHistory
+ predisposingMedicalHistory: char
+person
1
+signsAndSymptoms
0..1
+tuburculosisDiagnosis 1
+bodySiteAffectedCollection 0..*
+person
1+specimenCollection 0..*
+clinician
1+tuberculosisDiagnosisCollection
0..*
+sourcePerson1
+contactRelationshipCollection
0..*
+registrationAsPatient 1
+encounterCollection 0..*
+providerOrganization 1
+registrationAsPatientCollection
0..*
+person 1+registrationAsPatientCollection 0..*
+organism
1
+susceptibil i tyCollection 0..*
+Person
1
+riskFactorCollection
0..*
+liquidMediaCulture 0..1
+organismCollection 0..*
+targetPerson0..1
+contactRelationshipCollection
0..*
+clinician1
+patientEncounterCollection 0..*
+SignsAndSymptoms
1
+MedicalHistoryCollection 0..*+signsAndSymptoms 1
+TuberculosisSymptomCollection 0..*
+specimen 0..1
+testCollection 0..*+clnician
1
+riskFactorCollection 0..*
+person 1
+tuberculosisDiagnosisCollection0..*
+person
1
+bcgVaccinationCollection
0..*
+testCollection0..*
+person
1
+patientEncounter
0..1
+testCollection
0..*+clinician
1
+hivTestingCollection
0..*
+person 1
+hivTestingCollection
+Person
1
+StatusSummaryInformation
0..1
+person 1
+imageCollection
0..*
+clinician
1
+testCollection
0..*
+orderingClinician 1
+ImageCollection 0..*
+InterpretingClinician 1
+ImageCollection
+clinician1
+signsAndSymptoms 0..1
+solidMediaCulture 0..1
+organismCollection 0..*
+clinician1
+bcgVaccinationCollection 0..*
Class Model & Data Elements
• Both represent the information content of the DAM
• Can often be reviewed separately:– Clinicians reading the list of elements– Modelers & HL7ists examining the class
diagram, class descriptions, attribute descriptions.
• Keeping these synchronized can be difficult. It always involves work.
Activity Component• Rationale:
Express workflow within the domain – Identify specific activities, – Show the sequence and conditionality of
activities,– Use “swim lanes” to provide hints on where
data exchanges take place.
• Example: See over
act ACS Evaluation
Interv iew & History Clinical Presentation
Perform cardiacbiomarker testing
Characterize Chest Pain
Evaluate Results
Initiate ECG monitoring
Non-cardiacevent
SymptomsSuggestive
of ACS
Initiate Anti-IschemicMedical Therapy
ACSDiagnosis?
Repeat cardiac biomarkertesting
Observe
Perform stress test Evaluate LV function
Not ACS,discontinue
ACSprotocol
Unstable Angina / NonST-Segment Elevation MI
AdministerAntiplatelet/Anticoagulant
Therapy
Admit toHospital
ACSDiagnosis?
ACSDiagnosis?
Discharge Plan
Discharge
ST Segment Elevation MI
FollowSTEMI
Guidelines
ECG Report
Lab Results
Stress Test
Report
LV Function Results
Stable Angina
Follow ChronicStable Angina
Guidelines
ST Elevation?
Monitor Patient
Continue to ACS
Treatment diagram
Transfer
Patient identified incommunity setting
Patient identified inclinical setting
[Yes]
[Possible orConfirmed]
[Undiagnosed]
[ACS]
[No]
[Yes]
[Yes]
[Ifordered]
[Ifordered]
[No][No]
[No]
[No]
Cardio-vascular DAM Activity Component
State Machine Component
• Rationale: Show the behavior of an individual class within the class diagram. When used for critical classes, it exposes the need for a service or message specification.
• Example: So far, we don’t have a DAM that has built one.
Working with a Data Repository
Class Components are deposited in CaDSR and therefore the requirements should follow their submission criteria
Next Steps
• Complete Modeling Guides for each Model Component
• Work with development teams to use and improve the modeling guide
• Support fuller implementation of DAM building into the HL7 process
Are there any questions?