IHE FHIR Profile Publication/Creating new Profiles: Difference between revisions

From IHE Wiki
Jump to navigation Jump to search
Line 1: Line 1:
= Creating a new ImplementationGuide =
== Getting Started – Using the default content ==


Getting Started – Using the default content
These are the steps to create another implementation guide from the base profile. To provide an example, we describe how to change the profile “base” to a new profile called “mmm”. Of course you can use an name as long as the file names match the references.
-------------------------------------------
 
These are the steps to create another implementation guide from the base
profile. To provide an example, we describe how to change the profile “base” to
a new profile called “mmm”. Of course you can use an name as long as the file
names match the references.


# Copying / renaming implementation guide
# Adding pages
# Adding resources


The details:
The details:


1.  Copying / renaming implementation guide
<ol style="list-style-type: decimal;">
<li>== Copying / renaming implementation guide ==


    1.  Rename (or copy) the “base” folder to “mmm”
<ol style="list-style-type: decimal;">
<li>=== Rename (or copy) the “base” folder to “mmm” ===
</li>
<li>=== Rename the file “base.xml” to “mmm.xml”. Compared to the “base” profile, we end up with this: ===
</li></ol>
</li></ol>


    2. Rename the file “base.xml” to “mmm.xml”. Compared to the “base” profile,
[[File:media/image1.png|222x164px]]
        we end up with this:


![](media/a54694b56f5532419ed6630b4127c6af.png)
=== Edit the mmm.xml and change the id, url, and optionally name as appropriate: ===
 
### Edit the mmm.xml and change the id, url, and optionally name as appropriate:


Original:
Original:


\<?xml version="1.0" encoding="utf-16"?\>   
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;<br />
\<ImplementationGuide xmlns="http://hl7.org/fhir"\>
  &lt;ImplementationGuide xmlns=&quot;http://hl7.org/fhir&quot;&gt;<br />
    \<id value="base" /\>
    &lt;id value=&quot;base&quot; /&gt;<br />
    \<url value="http://ihe.net/fhir/base" /\>
    &lt;url value=&quot;http://ihe.net/fhir/base&quot; /&gt;<br />
    \<name value="ImplementationGuide5" /\>
    &lt;name value=&quot;ImplementationGuide5&quot; /&gt;<br />
    \<status value="draft" /\>
    &lt;status value=&quot;draft&quot; /&gt;


...
...
Line 36: Line 36:
Updated:
Updated:


\<?xml version="1.0" encoding="utf-16"?\>   
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;<br />
\<ImplementationGuide xmlns="http://hl7.org/fhir"\>
  &lt;ImplementationGuide xmlns=&quot;http://hl7.org/fhir&quot;&gt;<br />
    \<id value="**mmm**" /\>
    &lt;id value=&quot;'''mmm'''&quot; /&gt;<br />
    \<url value="http://ihe.net/fhir/**mmm**" /\>
    &lt;url value=&quot;http://ihe.net/fhir/'''mmm'''&quot; /&gt;<br />
    \<name value="**Mobile Medication Management**" /\>
    &lt;name value=&quot;'''Mobile Medication Management'''&quot; /&gt;<br />
    \<status value="draft" /\>
    &lt;status value=&quot;draft&quot; /&gt;


...
...
Line 47: Line 47:
At this moment you can rebuild to make sure things still work ok.
At this moment you can rebuild to make sure things still work ok.


Adding pages
== Adding pages ==
------------


You can add pages under the top page, which is the Table of Contents.
You can add pages under the top page, which is the Table of Contents.


It is recommended to keep page named “index” – you can change the existing
It is recommended to keep page named “index” – you can change the existing index.xml page if you want.
index.xml page if you want.
 
### Add the x(ht)ml file in the content\\pagecontent folder, for example a “welcome” page.
 
![](media/665d53296cdfbe4e81c74e9472170400.png)
 
### Add an entry in the implementationGuide (mmm.xml) to point to the file you added.
 
 \<page\> 
     \<nameUrl value="toc.html" /\> 
     \<title value="Table of Contents" /\> 
     \<generation value="html" /\> 
     \<page\> 
         \<nameUrl value="index.html" /\> 
         \<title value="Main Page" /\> 
         \<generation value="html" /\> 
     \</page\> 
     \<page\> 
         \<nameUrl value="welcome.html" /\> 
         \<title value="Welcome Page" /\> 
         \<generation value="html" /\> 
     \</page\> 
     \<page\> 
         \<nameUrl value="artifacts.html" /\> 
         \<title value="Artifacts" /\> 
         \<generation value="html" /\> 
     \</page\> 
 \</page\>


1. Adding resources
=== Add the x(ht)ml file in the content\pagecontent folder, for example a “welcome” page. ===


    1. place the resource as an XML file in the content\\resources folder,
<blockquote>[[File:media/image2.png|237x181px]]
</blockquote>
=== Add an entry in the implementationGuide (mmm.xml) to point to the file you added. ===


![](media/b1ef17103e656a68210bccfee42bbb3f.png)
 &lt;page&gt;<br />
     &lt;nameUrl value=&quot;toc.html&quot; /&gt;<br />
     &lt;title value=&quot;Table of Contents&quot; /&gt;<br />
     &lt;generation value=&quot;html&quot; /&gt;<br />
     &lt;page&gt;<br />
         &lt;nameUrl value=&quot;index.html&quot; /&gt;<br />
         &lt;title value=&quot;Main Page&quot; /&gt;<br />
         &lt;generation value=&quot;html&quot; /&gt;<br />
     &lt;/page&gt;<br />
     &lt;page&gt;<br />
         &lt;nameUrl value=&quot;welcome.html&quot; /&gt;<br />
         &lt;title value=&quot;Welcome Page&quot; /&gt;<br />
         &lt;generation value=&quot;html&quot; /&gt;<br />
     &lt;/page&gt;<br />
     &lt;page&gt;<br />
         &lt;nameUrl value=&quot;artifacts.html&quot; /&gt;<br />
         &lt;title value=&quot;Artifacts&quot; /&gt;<br />
         &lt;generation value=&quot;html&quot; /&gt;<br />
     &lt;/page&gt;<br />
 &lt;/page&gt;


### place a reference in the implementation guide file (mmm.xml).
<ol start="3" style="list-style-type: decimal;">
<li>== Adding resources ==


Just add a section like this. Make sure you point to a package that exists in
<ol start="6" style="list-style-type: decimal;">
the mmm.xml file.
<li>=== place the resource as an XML file in the content\resources folder,  ===
</li></ol>
</li></ol>


         \<resource\>
<blockquote>[[File:media/image3.png|402x201px]]
            \<reference\>
</blockquote>
                \<reference value="CapabilityStatement/ihe-mmm-requestplacer" /\> 
=== place a reference in the implementation guide file (mmm.xml). ===
            \</reference\> 
            \<name value="IHE MMM Request placer" /\> 
            \<description value="Request Placer Specifications" /\> 
            \<package value="Package1" /\> 
        \</resource\>


Just add a section like this. Make sure you point to a package that exists in the mmm.xml file.


         &lt;resource&gt;<br />
            &lt;reference&gt;<br />
                &lt;reference value=&quot;CapabilityStatement/ihe-mmm-requestplacer&quot; /&gt;<br />
            &lt;/reference&gt;<br />
            &lt;name value=&quot;IHE MMM Request placer&quot; /&gt;<br />
            &lt;description value=&quot;Request Placer Specifications&quot; /&gt;<br />
            &lt;package value=&quot;Package1&quot; /&gt;<br />
        &lt;/resource&gt;


  <ImplementationGuide xmlns="http://hl7.org/fhir">
  &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;<br />
    <id value="base" />
&lt;ImplementationGuide xmlns=&quot;http://hl7.org/fhir&quot;&gt;<br />
    <url value="http://ihe.net/fhir/base" />
    &lt;id value=&quot;base&quot; /&gt;<br />
    <name value="Base Profile" />
    &lt;url value=&quot;http://ihe.net/fhir/base&quot; /&gt;<br />
    <version value="0.2.1" />
    &lt;name value=&quot;Base Profile&quot; /&gt;<br />
    <status value="draft" />
    &lt;version value=&quot;0.2.1&quot; /&gt;<br />
    <experimental value="false" />
    &lt;status value=&quot;draft&quot; /&gt;<br />
    <date value="2018-01-01T00:00:00.000+02:00" />
    &lt;experimental value=&quot;false&quot; /&gt;<br />
    <jurisdiction>
    &lt;date value=&quot;2018-01-01T00:00:00.000+02:00&quot; /&gt;<br />
        <coding>
    &lt;jurisdiction&gt;<br />
            <system value="urn:iso:std:iso:3166" />
        &lt;coding&gt;<br />
            <code value="US" />
            &lt;system value=&quot;urn:iso:std:iso:3166&quot; /&gt;<br />
        </coding>
            &lt;code value=&quot;US&quot; /&gt;<br />
    </jurisdiction>
        &lt;/coding&gt;<br />
    <packageId value="ihe.fhir.base" />
    &lt;/jurisdiction&gt;<br />
    <license value="Apache-2.0" />
    &lt;packageId value=&quot;ihe.fhir.base&quot; /&gt;<br />
    <fhirVersion value="3.6.0" />
    &lt;license value=&quot;Apache-2.0&quot; /&gt;<br />
        <definition>
    &lt;fhirVersion value=&quot;3.5.0&quot; /&gt;<br />
          <package>
    &lt;definition&gt;<br />
<name value="IHE Base Conformance statements"/>  
        &lt;package&gt;<br />
<description value="Package"/>
            &lt;name value=&quot;Package1&quot; /&gt;<br />
</package>
            &lt;description value=&quot;Package&quot; /&gt;<br />
<resource>
        &lt;/package&gt;<br />
<reference>
        &lt;resource&gt;<br />
<reference value="CapabilityStatement/ihe-base-requestplacer"/>
            &lt;reference&gt;<br />
</reference>
                &lt;reference value=&quot;CapabilityStatement/ihe-base-requestplacer&quot; /&gt;<br />
<name value="ihe-base-requestplacer"/>
            &lt;/reference&gt;<br />
<description value="Request Placer Specifications"/>
            &lt;name value=&quot;ihe-base-requestplacer&quot; /&gt;<br />
<package value="Package1"/>
            &lt;description value=&quot;Request Placer Specifications&quot; /&gt;<br />
</resource>
            &lt;package value=&quot;Package1&quot; /&gt;<br />
<resource>
        &lt;/resource&gt;<br />
<reference>
        &lt;resource&gt;<br />
<reference value="StructureDefinition/medication-request"/>
            &lt;reference&gt;<br />
</reference>
                &lt;reference value=&quot;StructureDefinition/medication-request&quot; /&gt;<br />
<name value="Medication Request"/>
            &lt;/reference&gt;<br />
<description value="Medication Request Specifications"/>
            &lt;name value=&quot;Medication Request&quot; /&gt;<br />
<exampleBoolean value="false"/>
            &lt;description value=&quot;Medication Request Specifications&quot; /&gt;<br />
<package value="Package1"/>
            &lt;exampleBoolean value=&quot;false&quot; /&gt;<br />
</resource>
            &lt;package value=&quot;Package1&quot; /&gt;<br />
<page>
        &lt;/resource&gt;<br />
<nameUrl value="toc.html"/>
        &lt;page&gt;<br />
<title value="Table of Contents"/>
            &lt;nameUrl value=&quot;toc.html&quot; /&gt;<br />
<generation value="html"/>
            &lt;title value=&quot;Table of Contents&quot; /&gt;<br />
<page>
            &lt;generation value=&quot;html&quot; /&gt;<br />
<nameUrl value="index.html"/>
            &lt;page&gt;<br />
<title value="Main Page"/>
                &lt;nameUrl value=&quot;index.html&quot; /&gt;<br />
<generation value="html"/>
                &lt;title value=&quot;Main Page&quot; /&gt;<br />
</page>
                &lt;generation value=&quot;html&quot; /&gt;<br />
<page>
            &lt;/page&gt;<br />
<nameUrl value="artifacts.html"/>
            &lt;page&gt;<br />
<title value="Arifacts"/>
                &lt;nameUrl value=&quot;artifacts.html&quot; /&gt;<br />
<generation value="html"/>
                &lt;title value=&quot;Artifacts&quot; /&gt;<br />
</page>
                &lt;generation value=&quot;html&quot; /&gt;<br />
</page>
            &lt;/page&gt;<br />
</definition>
        &lt;/page&gt;<br />
  </ImplementationGuide>
    &lt;/definition&gt;<br />
  &lt;/ImplementationGuide&gt;

Revision as of 05:08, 30 September 2018

Getting Started – Using the default content

These are the steps to create another implementation guide from the base profile. To provide an example, we describe how to change the profile “base” to a new profile called “mmm”. Of course you can use an name as long as the file names match the references.

  1. Copying / renaming implementation guide
  2. Adding pages
  3. Adding resources

The details:

  1. == Copying / renaming implementation guide ==
    1. === Rename (or copy) the “base” folder to “mmm” ===
    2. === Rename the file “base.xml” to “mmm.xml”. Compared to the “base” profile, we end up with this: ===

File:Media/image1.png

Edit the mmm.xml and change the id, url, and optionally name as appropriate:

Original:

<?xml version="1.0" encoding="utf-16"?>
<ImplementationGuide xmlns="http://hl7.org/fhir%22>

    <id value="base" />
    <url value="http://ihe.net/fhir/base%22 />
    <name value="ImplementationGuide5" />
    <status value="draft" />

...

Updated:

<?xml version="1.0" encoding="utf-16"?>
<ImplementationGuide xmlns="http://hl7.org/fhir%22>

    <id value="mmm" />
    <url value="http://ihe.net/fhir/mmm" />
    <name value="Mobile Medication Management" />
    <status value="draft" />

...

At this moment you can rebuild to make sure things still work ok.

Adding pages

You can add pages under the top page, which is the Table of Contents.

It is recommended to keep page named “index” – you can change the existing index.xml page if you want.

Add the x(ht)ml file in the content\pagecontent folder, for example a “welcome” page.

File:Media/image2.png

Add an entry in the implementationGuide (mmm.xml) to point to the file you added.

 <page>
     <nameUrl value="toc.html" />
     <title value="Table of Contents" />
     <generation value="html" />
     <page>
         <nameUrl value="index.html" />
         <title value="Main Page" />
         <generation value="html" />
     </page>
     <page>
         <nameUrl value="welcome.html" />
         <title value="Welcome Page" />
         <generation value="html" />
     </page>
     <page>
         <nameUrl value="artifacts.html" />
         <title value="Artifacts" />
         <generation value="html" />
     </page>
 </page>

  1. == Adding resources ==
    1. === place the resource as an XML file in the content\resources folder, ===

File:Media/image3.png

place a reference in the implementation guide file (mmm.xml).

Just add a section like this. Make sure you point to a package that exists in the mmm.xml file.

         <resource>
            <reference>
                <reference value="CapabilityStatement/ihe-mmm-requestplacer" />
            </reference>
            <name value="IHE MMM Request placer" />
            <description value="Request Placer Specifications" />
            <package value="Package1" />
        </resource>

<?xml version="1.0" encoding="utf-16"?>
<ImplementationGuide xmlns="http://hl7.org/fhir%22>

    <id value="base" />
    <url value="http://ihe.net/fhir/base%22 />
    <name value="Base Profile" />
    <version value="0.2.1" />
    <status value="draft" />
    <experimental value="false" />
    <date value="2018-01-01T00:00:00.000+02:00" />
    <jurisdiction>
        <coding>
            <system value="urn:iso:std:iso:3166%22 />
            <code value="US" />
        </coding>
    </jurisdiction>
    <packageId value="ihe.fhir.base" />
    <license value="Apache-2.0" />
    <fhirVersion value="3.5.0" />
    <definition>
        <package>
            <name value="Package1" />
            <description value="Package" />
        </package>
        <resource>
            <reference>
                <reference value="CapabilityStatement/ihe-base-requestplacer" />
            </reference>
            <name value="ihe-base-requestplacer" />
            <description value="Request Placer Specifications" />
            <package value="Package1" />
        </resource>
        <resource>
            <reference>
                <reference value="StructureDefinition/medication-request" />
            </reference>
            <name value="Medication Request" />
            <description value="Medication Request Specifications" />
            <exampleBoolean value="false" />
            <package value="Package1" />
        </resource>
        <page>
            <nameUrl value="toc.html" />
            <title value="Table of Contents" />
            <generation value="html" />
            <page>
                <nameUrl value="index.html" />
                <title value="Main Page" />
                <generation value="html" />
            </page>
            <page>
                <nameUrl value="artifacts.html" />
                <title value="Artifacts" />
                <generation value="html" />
            </page>
        </page>
    </definition>

</ImplementationGuide>