29
HL7®, FHIR® and the flame Design mark are the registered trademarks of Health Level Seven International and are used with per mission. Boston, 19-21 June | @HL7 @FirelyTeam | #fhirdevdays18 | www.fhirdevdays.com FHIR Mapping Language Grahame Grieve, FHIR Product Director

FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

HL7reg FHIRreg and the flame Design mark are the registered trademarks of Health Level Seven International and are used with per mission

Boston 19-21 June | HL7 FirelyTeam | fhirdevdays18 | wwwfhirdevdayscom

FHIR Mapping Language

Grahame Grieve FHIR Product Director

FHIR Mapping Language

bull Why a FHIR mapping language ndash Goals and Requirements

bull Architecture

bull Tutorial

bull Examples

Why a FHIR Mapping Language

bull We need a way to transform data from instance to instance

bull We need to be able to share the transform rules between systems

bull Separate tools for authoring and transforming

bull Existing transformation approaches are either

bull TechnologyContext bound (eg XSLT Javascript)

bull Incomplete (eg QVT + MDMI frameworks for transforms)

bull This has become a blocking requirement for the community

bull CDA V2 CIMI etc

Levels of Mapping

bull Skeletal Mappings

bull Map the class backbones ndash pointers about the relationships

bull Concept Mappings

bull Map all the elements in the class model

bull Detailed Mappings

bull Map all the elements down to primitive types

bull Executable Mappings

bull Describe conversions for all domain values all special cases

ConceptMap resource

Concept Map Example

ConceptMap Example

Detailed Mapping Requirements

bull Already have concept level concept mapping

bull Want more

bull Managing instance amp instance dependency

bull Dependency on out of band data injecting decisions

bull Handling hierarchical dependencies and different structures

bull Micro-transforms in strings (eg different date formats)

Architecture

bull Based on the QVT notions developed with the QVT author

bull Define an API to support mapping

bull Define a language that describes source -gt target transformation in the presence of the API

bull Abstract Syntax tree = FHIR StructureMap resource

bull Concrete Syntax = ldquoFHIR Mapping Languagerdquo

Language Decisions

bull Describe transform from one instance to another where instances are trees of elements

bull Describe one way transforms

bull Statements of relationship

bull no procedural features - supports meta analysis

bull Structurehierarchy based

bull eg support graphical transform builders

bull Modular to allow re-use

bull Can use types where they are present but does not depend on them

Resource StructureMap

bull A resource like all others

bull Has the same metadata as other conformance resources

bull Defined content is the abstract syntax tree for the mapping language bull Technically thatrsquos another concrete syntax

bull Recommended narrative is the mapping language

bull Tools can interconvert between the forms (FHIR Validator)

bull httptestfhirorgr3+ supports text format

Tutorial Simple Case

ltTLeftgt

ltagtA valueltagt

ltTLeftgt

ltTRightgt

ltagtA valueltagt

ltTRightgt

Understanding content class models

Understanding content class models

bull In order to run the mapping language the engine needs to lsquoknowrsquo the input and output models

bull The existing implementations use the same interface that supports FHIRPath

bull Dynamic query of what children are available

bull Eg have to write code

bull Can also use FHIR Structure Definitions to define the input and output models

bull CDA Example later

Tutorial Simple Case

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 2: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

FHIR Mapping Language

bull Why a FHIR mapping language ndash Goals and Requirements

bull Architecture

bull Tutorial

bull Examples

Why a FHIR Mapping Language

bull We need a way to transform data from instance to instance

bull We need to be able to share the transform rules between systems

bull Separate tools for authoring and transforming

bull Existing transformation approaches are either

bull TechnologyContext bound (eg XSLT Javascript)

bull Incomplete (eg QVT + MDMI frameworks for transforms)

bull This has become a blocking requirement for the community

bull CDA V2 CIMI etc

Levels of Mapping

bull Skeletal Mappings

bull Map the class backbones ndash pointers about the relationships

bull Concept Mappings

bull Map all the elements in the class model

bull Detailed Mappings

bull Map all the elements down to primitive types

bull Executable Mappings

bull Describe conversions for all domain values all special cases

ConceptMap resource

Concept Map Example

ConceptMap Example

Detailed Mapping Requirements

bull Already have concept level concept mapping

bull Want more

bull Managing instance amp instance dependency

bull Dependency on out of band data injecting decisions

bull Handling hierarchical dependencies and different structures

bull Micro-transforms in strings (eg different date formats)

Architecture

bull Based on the QVT notions developed with the QVT author

bull Define an API to support mapping

bull Define a language that describes source -gt target transformation in the presence of the API

bull Abstract Syntax tree = FHIR StructureMap resource

bull Concrete Syntax = ldquoFHIR Mapping Languagerdquo

Language Decisions

bull Describe transform from one instance to another where instances are trees of elements

bull Describe one way transforms

bull Statements of relationship

bull no procedural features - supports meta analysis

bull Structurehierarchy based

bull eg support graphical transform builders

bull Modular to allow re-use

bull Can use types where they are present but does not depend on them

Resource StructureMap

bull A resource like all others

bull Has the same metadata as other conformance resources

bull Defined content is the abstract syntax tree for the mapping language bull Technically thatrsquos another concrete syntax

bull Recommended narrative is the mapping language

bull Tools can interconvert between the forms (FHIR Validator)

bull httptestfhirorgr3+ supports text format

Tutorial Simple Case

ltTLeftgt

ltagtA valueltagt

ltTLeftgt

ltTRightgt

ltagtA valueltagt

ltTRightgt

Understanding content class models

Understanding content class models

bull In order to run the mapping language the engine needs to lsquoknowrsquo the input and output models

bull The existing implementations use the same interface that supports FHIRPath

bull Dynamic query of what children are available

bull Eg have to write code

bull Can also use FHIR Structure Definitions to define the input and output models

bull CDA Example later

Tutorial Simple Case

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 3: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Why a FHIR Mapping Language

bull We need a way to transform data from instance to instance

bull We need to be able to share the transform rules between systems

bull Separate tools for authoring and transforming

bull Existing transformation approaches are either

bull TechnologyContext bound (eg XSLT Javascript)

bull Incomplete (eg QVT + MDMI frameworks for transforms)

bull This has become a blocking requirement for the community

bull CDA V2 CIMI etc

Levels of Mapping

bull Skeletal Mappings

bull Map the class backbones ndash pointers about the relationships

bull Concept Mappings

bull Map all the elements in the class model

bull Detailed Mappings

bull Map all the elements down to primitive types

bull Executable Mappings

bull Describe conversions for all domain values all special cases

ConceptMap resource

Concept Map Example

ConceptMap Example

Detailed Mapping Requirements

bull Already have concept level concept mapping

bull Want more

bull Managing instance amp instance dependency

bull Dependency on out of band data injecting decisions

bull Handling hierarchical dependencies and different structures

bull Micro-transforms in strings (eg different date formats)

Architecture

bull Based on the QVT notions developed with the QVT author

bull Define an API to support mapping

bull Define a language that describes source -gt target transformation in the presence of the API

bull Abstract Syntax tree = FHIR StructureMap resource

bull Concrete Syntax = ldquoFHIR Mapping Languagerdquo

Language Decisions

bull Describe transform from one instance to another where instances are trees of elements

bull Describe one way transforms

bull Statements of relationship

bull no procedural features - supports meta analysis

bull Structurehierarchy based

bull eg support graphical transform builders

bull Modular to allow re-use

bull Can use types where they are present but does not depend on them

Resource StructureMap

bull A resource like all others

bull Has the same metadata as other conformance resources

bull Defined content is the abstract syntax tree for the mapping language bull Technically thatrsquos another concrete syntax

bull Recommended narrative is the mapping language

bull Tools can interconvert between the forms (FHIR Validator)

bull httptestfhirorgr3+ supports text format

Tutorial Simple Case

ltTLeftgt

ltagtA valueltagt

ltTLeftgt

ltTRightgt

ltagtA valueltagt

ltTRightgt

Understanding content class models

Understanding content class models

bull In order to run the mapping language the engine needs to lsquoknowrsquo the input and output models

bull The existing implementations use the same interface that supports FHIRPath

bull Dynamic query of what children are available

bull Eg have to write code

bull Can also use FHIR Structure Definitions to define the input and output models

bull CDA Example later

Tutorial Simple Case

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 4: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Levels of Mapping

bull Skeletal Mappings

bull Map the class backbones ndash pointers about the relationships

bull Concept Mappings

bull Map all the elements in the class model

bull Detailed Mappings

bull Map all the elements down to primitive types

bull Executable Mappings

bull Describe conversions for all domain values all special cases

ConceptMap resource

Concept Map Example

ConceptMap Example

Detailed Mapping Requirements

bull Already have concept level concept mapping

bull Want more

bull Managing instance amp instance dependency

bull Dependency on out of band data injecting decisions

bull Handling hierarchical dependencies and different structures

bull Micro-transforms in strings (eg different date formats)

Architecture

bull Based on the QVT notions developed with the QVT author

bull Define an API to support mapping

bull Define a language that describes source -gt target transformation in the presence of the API

bull Abstract Syntax tree = FHIR StructureMap resource

bull Concrete Syntax = ldquoFHIR Mapping Languagerdquo

Language Decisions

bull Describe transform from one instance to another where instances are trees of elements

bull Describe one way transforms

bull Statements of relationship

bull no procedural features - supports meta analysis

bull Structurehierarchy based

bull eg support graphical transform builders

bull Modular to allow re-use

bull Can use types where they are present but does not depend on them

Resource StructureMap

bull A resource like all others

bull Has the same metadata as other conformance resources

bull Defined content is the abstract syntax tree for the mapping language bull Technically thatrsquos another concrete syntax

bull Recommended narrative is the mapping language

bull Tools can interconvert between the forms (FHIR Validator)

bull httptestfhirorgr3+ supports text format

Tutorial Simple Case

ltTLeftgt

ltagtA valueltagt

ltTLeftgt

ltTRightgt

ltagtA valueltagt

ltTRightgt

Understanding content class models

Understanding content class models

bull In order to run the mapping language the engine needs to lsquoknowrsquo the input and output models

bull The existing implementations use the same interface that supports FHIRPath

bull Dynamic query of what children are available

bull Eg have to write code

bull Can also use FHIR Structure Definitions to define the input and output models

bull CDA Example later

Tutorial Simple Case

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 5: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

ConceptMap resource

Concept Map Example

ConceptMap Example

Detailed Mapping Requirements

bull Already have concept level concept mapping

bull Want more

bull Managing instance amp instance dependency

bull Dependency on out of band data injecting decisions

bull Handling hierarchical dependencies and different structures

bull Micro-transforms in strings (eg different date formats)

Architecture

bull Based on the QVT notions developed with the QVT author

bull Define an API to support mapping

bull Define a language that describes source -gt target transformation in the presence of the API

bull Abstract Syntax tree = FHIR StructureMap resource

bull Concrete Syntax = ldquoFHIR Mapping Languagerdquo

Language Decisions

bull Describe transform from one instance to another where instances are trees of elements

bull Describe one way transforms

bull Statements of relationship

bull no procedural features - supports meta analysis

bull Structurehierarchy based

bull eg support graphical transform builders

bull Modular to allow re-use

bull Can use types where they are present but does not depend on them

Resource StructureMap

bull A resource like all others

bull Has the same metadata as other conformance resources

bull Defined content is the abstract syntax tree for the mapping language bull Technically thatrsquos another concrete syntax

bull Recommended narrative is the mapping language

bull Tools can interconvert between the forms (FHIR Validator)

bull httptestfhirorgr3+ supports text format

Tutorial Simple Case

ltTLeftgt

ltagtA valueltagt

ltTLeftgt

ltTRightgt

ltagtA valueltagt

ltTRightgt

Understanding content class models

Understanding content class models

bull In order to run the mapping language the engine needs to lsquoknowrsquo the input and output models

bull The existing implementations use the same interface that supports FHIRPath

bull Dynamic query of what children are available

bull Eg have to write code

bull Can also use FHIR Structure Definitions to define the input and output models

bull CDA Example later

Tutorial Simple Case

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 6: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Concept Map Example

ConceptMap Example

Detailed Mapping Requirements

bull Already have concept level concept mapping

bull Want more

bull Managing instance amp instance dependency

bull Dependency on out of band data injecting decisions

bull Handling hierarchical dependencies and different structures

bull Micro-transforms in strings (eg different date formats)

Architecture

bull Based on the QVT notions developed with the QVT author

bull Define an API to support mapping

bull Define a language that describes source -gt target transformation in the presence of the API

bull Abstract Syntax tree = FHIR StructureMap resource

bull Concrete Syntax = ldquoFHIR Mapping Languagerdquo

Language Decisions

bull Describe transform from one instance to another where instances are trees of elements

bull Describe one way transforms

bull Statements of relationship

bull no procedural features - supports meta analysis

bull Structurehierarchy based

bull eg support graphical transform builders

bull Modular to allow re-use

bull Can use types where they are present but does not depend on them

Resource StructureMap

bull A resource like all others

bull Has the same metadata as other conformance resources

bull Defined content is the abstract syntax tree for the mapping language bull Technically thatrsquos another concrete syntax

bull Recommended narrative is the mapping language

bull Tools can interconvert between the forms (FHIR Validator)

bull httptestfhirorgr3+ supports text format

Tutorial Simple Case

ltTLeftgt

ltagtA valueltagt

ltTLeftgt

ltTRightgt

ltagtA valueltagt

ltTRightgt

Understanding content class models

Understanding content class models

bull In order to run the mapping language the engine needs to lsquoknowrsquo the input and output models

bull The existing implementations use the same interface that supports FHIRPath

bull Dynamic query of what children are available

bull Eg have to write code

bull Can also use FHIR Structure Definitions to define the input and output models

bull CDA Example later

Tutorial Simple Case

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 7: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

ConceptMap Example

Detailed Mapping Requirements

bull Already have concept level concept mapping

bull Want more

bull Managing instance amp instance dependency

bull Dependency on out of band data injecting decisions

bull Handling hierarchical dependencies and different structures

bull Micro-transforms in strings (eg different date formats)

Architecture

bull Based on the QVT notions developed with the QVT author

bull Define an API to support mapping

bull Define a language that describes source -gt target transformation in the presence of the API

bull Abstract Syntax tree = FHIR StructureMap resource

bull Concrete Syntax = ldquoFHIR Mapping Languagerdquo

Language Decisions

bull Describe transform from one instance to another where instances are trees of elements

bull Describe one way transforms

bull Statements of relationship

bull no procedural features - supports meta analysis

bull Structurehierarchy based

bull eg support graphical transform builders

bull Modular to allow re-use

bull Can use types where they are present but does not depend on them

Resource StructureMap

bull A resource like all others

bull Has the same metadata as other conformance resources

bull Defined content is the abstract syntax tree for the mapping language bull Technically thatrsquos another concrete syntax

bull Recommended narrative is the mapping language

bull Tools can interconvert between the forms (FHIR Validator)

bull httptestfhirorgr3+ supports text format

Tutorial Simple Case

ltTLeftgt

ltagtA valueltagt

ltTLeftgt

ltTRightgt

ltagtA valueltagt

ltTRightgt

Understanding content class models

Understanding content class models

bull In order to run the mapping language the engine needs to lsquoknowrsquo the input and output models

bull The existing implementations use the same interface that supports FHIRPath

bull Dynamic query of what children are available

bull Eg have to write code

bull Can also use FHIR Structure Definitions to define the input and output models

bull CDA Example later

Tutorial Simple Case

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 8: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Detailed Mapping Requirements

bull Already have concept level concept mapping

bull Want more

bull Managing instance amp instance dependency

bull Dependency on out of band data injecting decisions

bull Handling hierarchical dependencies and different structures

bull Micro-transforms in strings (eg different date formats)

Architecture

bull Based on the QVT notions developed with the QVT author

bull Define an API to support mapping

bull Define a language that describes source -gt target transformation in the presence of the API

bull Abstract Syntax tree = FHIR StructureMap resource

bull Concrete Syntax = ldquoFHIR Mapping Languagerdquo

Language Decisions

bull Describe transform from one instance to another where instances are trees of elements

bull Describe one way transforms

bull Statements of relationship

bull no procedural features - supports meta analysis

bull Structurehierarchy based

bull eg support graphical transform builders

bull Modular to allow re-use

bull Can use types where they are present but does not depend on them

Resource StructureMap

bull A resource like all others

bull Has the same metadata as other conformance resources

bull Defined content is the abstract syntax tree for the mapping language bull Technically thatrsquos another concrete syntax

bull Recommended narrative is the mapping language

bull Tools can interconvert between the forms (FHIR Validator)

bull httptestfhirorgr3+ supports text format

Tutorial Simple Case

ltTLeftgt

ltagtA valueltagt

ltTLeftgt

ltTRightgt

ltagtA valueltagt

ltTRightgt

Understanding content class models

Understanding content class models

bull In order to run the mapping language the engine needs to lsquoknowrsquo the input and output models

bull The existing implementations use the same interface that supports FHIRPath

bull Dynamic query of what children are available

bull Eg have to write code

bull Can also use FHIR Structure Definitions to define the input and output models

bull CDA Example later

Tutorial Simple Case

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 9: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Architecture

bull Based on the QVT notions developed with the QVT author

bull Define an API to support mapping

bull Define a language that describes source -gt target transformation in the presence of the API

bull Abstract Syntax tree = FHIR StructureMap resource

bull Concrete Syntax = ldquoFHIR Mapping Languagerdquo

Language Decisions

bull Describe transform from one instance to another where instances are trees of elements

bull Describe one way transforms

bull Statements of relationship

bull no procedural features - supports meta analysis

bull Structurehierarchy based

bull eg support graphical transform builders

bull Modular to allow re-use

bull Can use types where they are present but does not depend on them

Resource StructureMap

bull A resource like all others

bull Has the same metadata as other conformance resources

bull Defined content is the abstract syntax tree for the mapping language bull Technically thatrsquos another concrete syntax

bull Recommended narrative is the mapping language

bull Tools can interconvert between the forms (FHIR Validator)

bull httptestfhirorgr3+ supports text format

Tutorial Simple Case

ltTLeftgt

ltagtA valueltagt

ltTLeftgt

ltTRightgt

ltagtA valueltagt

ltTRightgt

Understanding content class models

Understanding content class models

bull In order to run the mapping language the engine needs to lsquoknowrsquo the input and output models

bull The existing implementations use the same interface that supports FHIRPath

bull Dynamic query of what children are available

bull Eg have to write code

bull Can also use FHIR Structure Definitions to define the input and output models

bull CDA Example later

Tutorial Simple Case

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 10: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Language Decisions

bull Describe transform from one instance to another where instances are trees of elements

bull Describe one way transforms

bull Statements of relationship

bull no procedural features - supports meta analysis

bull Structurehierarchy based

bull eg support graphical transform builders

bull Modular to allow re-use

bull Can use types where they are present but does not depend on them

Resource StructureMap

bull A resource like all others

bull Has the same metadata as other conformance resources

bull Defined content is the abstract syntax tree for the mapping language bull Technically thatrsquos another concrete syntax

bull Recommended narrative is the mapping language

bull Tools can interconvert between the forms (FHIR Validator)

bull httptestfhirorgr3+ supports text format

Tutorial Simple Case

ltTLeftgt

ltagtA valueltagt

ltTLeftgt

ltTRightgt

ltagtA valueltagt

ltTRightgt

Understanding content class models

Understanding content class models

bull In order to run the mapping language the engine needs to lsquoknowrsquo the input and output models

bull The existing implementations use the same interface that supports FHIRPath

bull Dynamic query of what children are available

bull Eg have to write code

bull Can also use FHIR Structure Definitions to define the input and output models

bull CDA Example later

Tutorial Simple Case

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 11: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Resource StructureMap

bull A resource like all others

bull Has the same metadata as other conformance resources

bull Defined content is the abstract syntax tree for the mapping language bull Technically thatrsquos another concrete syntax

bull Recommended narrative is the mapping language

bull Tools can interconvert between the forms (FHIR Validator)

bull httptestfhirorgr3+ supports text format

Tutorial Simple Case

ltTLeftgt

ltagtA valueltagt

ltTLeftgt

ltTRightgt

ltagtA valueltagt

ltTRightgt

Understanding content class models

Understanding content class models

bull In order to run the mapping language the engine needs to lsquoknowrsquo the input and output models

bull The existing implementations use the same interface that supports FHIRPath

bull Dynamic query of what children are available

bull Eg have to write code

bull Can also use FHIR Structure Definitions to define the input and output models

bull CDA Example later

Tutorial Simple Case

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 12: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Tutorial Simple Case

ltTLeftgt

ltagtA valueltagt

ltTLeftgt

ltTRightgt

ltagtA valueltagt

ltTRightgt

Understanding content class models

Understanding content class models

bull In order to run the mapping language the engine needs to lsquoknowrsquo the input and output models

bull The existing implementations use the same interface that supports FHIRPath

bull Dynamic query of what children are available

bull Eg have to write code

bull Can also use FHIR Structure Definitions to define the input and output models

bull CDA Example later

Tutorial Simple Case

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 13: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Understanding content class models

Understanding content class models

bull In order to run the mapping language the engine needs to lsquoknowrsquo the input and output models

bull The existing implementations use the same interface that supports FHIRPath

bull Dynamic query of what children are available

bull Eg have to write code

bull Can also use FHIR Structure Definitions to define the input and output models

bull CDA Example later

Tutorial Simple Case

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 14: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Understanding content class models

bull In order to run the mapping language the engine needs to lsquoknowrsquo the input and output models

bull The existing implementations use the same interface that supports FHIRPath

bull Dynamic query of what children are available

bull Eg have to write code

bull Can also use FHIR Structure Definitions to define the input and output models

bull CDA Example later

Tutorial Simple Case

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 15: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Tutorial Simple Case

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 16: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Fields with Different Names

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 17: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Length Restriction

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 18: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Type Conversion

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 19: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Lists Part 1

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 20: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Lists Part 2

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 21: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Hierarchical Content 1

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 22: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Hierarchical Content 2

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 23: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Hierarchical Content 3

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 24: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Invoking Transforms

bull Java Command line tool ndash see httpwwwhealthintersectionscomaup=2506

bull Server ndash post to httptestfhirorgr3StructureMap[id]$transform

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 25: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Examples FHIR Version transforms

httphl7orgfhirr2mapshtml

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 26: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Examples CDA

bull CDA Definitions

bull httpsbuildfhirorgigHL7fhir-cda

bull Fully define the CDA XML format

bull Can (almost) generate a correct CDA schema

bull FHIR validator can read and validate CDA documents using these definitions

bull Working on formally endorsed mappings between CCDA and FHIR resources

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml

Page 27: FHIR Mapping Language - Home - FHIR DevDays · 2019. 3. 19. · Grahame Grieve, FHIR Product Director . FHIR Mapping Language Why a FHIR mapping language? t Goals and Requirements

Example CAP Cancer IG

bull httpfhirhl7orgaufhirrcpa

bull Conceptual Definition httpfhirhl7orgaufhirrcpacolorectalhtmltable

bull Mapping to FHIR httpfhirhl7orgaufhirrcpacmaphtmlscript

bull Generated Examples httpfhirhl7orgaufhirrcpacmap-exampleshtml

bull Generated Profiles httpfhirhl7orgaufhirrcpacprofileshtml