@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

<http://smart.who.int/ig/smart-immunizations/StructureMap/IMMZD1PolioQRToLM> a fhir:StructureMap ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "IMMZD1PolioQRToLM"] ; # 
  fhir:text [
     fhir:status [ fhir:v "generated" ] ;
     fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> &quot;</span>http://smart.who.int/ig/smart-immunizations/StructureMap/IMMZD1PolioQRToLM<span style=\"color: navy\">&quot; = &quot;</span>IMMZD1PolioQRToLM<span style=\"color: navy\">&quot;\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Polio Immunization Client History - Transform QuestionnaireResponse to Logical Model</span>\r\n\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"http://hl7.org/fhir/R4/questionnaireresponse.html\" title=\"QuestionnaireResponse\">http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse</a><span style=\"color: navy\">&quot; </span><b>alias </b>QResp <b>as </b><b>source</b>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-IMMZD1ClientHistoryPolio.html\" title=\"IMMZ.D1 Capture Client History for Polio\">http://smart.who.int/ig/smart-immunizations/StructureDefinition/IMMZD1ClientHistoryPolio</a><span style=\"color: navy\">&quot; </span><b>alias </b>IMMZD1 <b>as </b><b>target</b>\r\n\r\n<b>imports</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureMap-IMMZD1QRToLM.html\" title=\"IMMZD1QRToLM\">http://smart.who.int/ig/smart-immunizations/StructureMap/IMMZD1QRToLM</a><span style=\"color: navy\">&quot;\r\n</span>\r\n<b>group </b>PolioQRespToIMMZD1<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">qr</span><span style=\"color: navy\"> : </span>QResp, <b>target</b> <span style=\"color: maroon\">immz</span><span style=\"color: navy\"> : </span>IMMZD1<span style=\"color: navy\">)</span><b> extends </b>QRespToIMMZD1<span style=\"color: navy\"> {\r\n</span>  qr.item<b> as </b><span style=\"color: maroon\">item</span><b> then</b><span style=\"color: navy\"> {\r\n</span>    item.answer first<b> as </b><span style=\"color: maroon\">answer</span><b> where </b>item.linkId = 'birth'<b> then</b><span style=\"color: navy\"> {\r\n</span>      answer.value<b> as </b><span style=\"color: maroon\">content</span><span style=\"color: navy\"><b> -&gt; </b></span>immz.birth = <span style=\"color: maroon\">content</span> <i>&quot;SetBirth&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;FirstAnswerForBirth&quot;</i><span style=\"color: navy\">;</span>\r\n    item.answer first<b> as </b><span style=\"color: maroon\">answer</span><b> where </b>item.linkId = 'poliotype'<b> then</b><span style=\"color: navy\"> {\r\n</span>      answer.value<b> as </b><span style=\"color: maroon\">coding</span><span style=\"color: navy\"><b> -&gt; </b></span>immz.poliotype = <span style=\"color: maroon\">coding</span> <i>&quot;SetPolioType&quot;</i><span style=\"color: navy\">;</span>\r\n    <span style=\"color: navy\">}</span> <i>&quot;FirstAnswerForPolioType&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">}</span> <i>&quot;processItems&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
  ] ; # 
  fhir:url [ fhir:v "http://smart.who.int/ig/smart-immunizations/StructureMap/IMMZD1PolioQRToLM"^^xsd:anyURI] ; # 
  fhir:version [ fhir:v "0.1.0"] ; # 
  fhir:name [ fhir:v "IMMZD1PolioQRToLM"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:date [ fhir:v "2024-04-04T07:29:23+00:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "World Health Organization (WHO)"] ; # 
  fhir:contact ( [
     fhir:name [ fhir:v "World Health Organization (WHO)" ] ;
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "https://www.who.int" ]
     ] )
  ] ) ; # 
  fhir:description [ fhir:v "Polio Immunization Client History - Transform QuestionnaireResponse to Logical Model"] ; # 
  fhir:jurisdiction ( [
     fhir:coding ( [
       fhir:system [ fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm"^^xsd:anyURI ] ;
       fhir:code [ fhir:v "001" ]
     ] )
  ] ) ; # 
  fhir:structure ( [
     fhir:url [
       fhir:v "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"^^xsd:anyURI ;
       fhir:link <http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse>
     ] ;
     fhir:mode [ fhir:v "source" ] ;
     fhir:alias [ fhir:v "QResp" ]
  ] [
     fhir:url [
       fhir:v "http://smart.who.int/ig/smart-immunizations/StructureDefinition/IMMZD1ClientHistoryPolio"^^xsd:anyURI ;
       fhir:link <http://smart.who.int/ig/smart-immunizations/StructureDefinition/IMMZD1ClientHistoryPolio>
     ] ;
     fhir:mode [ fhir:v "target" ] ;
     fhir:alias [ fhir:v "IMMZD1" ]
  ] ) ; # 
  fhir:import ( [
     fhir:v "http://smart.who.int/ig/smart-immunizations/StructureMap/IMMZD1QRToLM"^^xsd:anyURI ;
     fhir:link <http://smart.who.int/ig/smart-immunizations/StructureMap/IMMZD1QRToLM>
  ] ) ; # 
  fhir:group ( [
     fhir:name [ fhir:v "PolioQRespToIMMZD1" ] ;
     fhir:extends [ fhir:v "QRespToIMMZD1" ] ;
     fhir:typeMode [ fhir:v "none" ] ;
     fhir:input ( [
       fhir:name [ fhir:v "qr" ] ;
       fhir:type [ fhir:v "QResp" ] ;
       fhir:mode [ fhir:v "source" ]
     ] [
       fhir:name [ fhir:v "immz" ] ;
       fhir:type [ fhir:v "IMMZD1" ] ;
       fhir:mode [ fhir:v "target" ]
     ] ) ;
     fhir:rule ( [
       fhir:name [ fhir:v "processItems" ] ;
       fhir:source ( [
         fhir:context [ fhir:v "qr" ] ;
         fhir:element [ fhir:v "item" ] ;
         fhir:variable [ fhir:v "item" ]
       ] ) ;
       fhir:rule ( [
         fhir:name [ fhir:v "FirstAnswerForBirth" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "item" ] ;
           fhir:element [ fhir:v "answer" ] ;
           fhir:listMode [ fhir:v "first" ] ;
           fhir:variable [ fhir:v "answer" ] ;
           fhir:condition [ fhir:v "item.linkId = 'birth'" ]
         ] ) ;
         fhir:rule ( [
           fhir:name [ fhir:v "SetBirth" ] ;
           fhir:source ( [
             fhir:context [ fhir:v "answer" ] ;
             fhir:element [ fhir:v "value" ] ;
             fhir:variable [ fhir:v "content" ]
           ] ) ;
           fhir:target ( [
             fhir:context [ fhir:v "immz" ] ;
             fhir:contextType [ fhir:v "variable" ] ;
             fhir:element [ fhir:v "birth" ] ;
             fhir:transform [ fhir:v "copy" ] ;
             fhir:parameter ( [
               fhir:value [ fhir:v "content" ]
             ] )
           ] )
         ] )
       ] [
         fhir:name [ fhir:v "FirstAnswerForPolioType" ] ;
         fhir:source ( [
           fhir:context [ fhir:v "item" ] ;
           fhir:element [ fhir:v "answer" ] ;
           fhir:listMode [ fhir:v "first" ] ;
           fhir:variable [ fhir:v "answer" ] ;
           fhir:condition [ fhir:v "item.linkId = 'poliotype'" ]
         ] ) ;
         fhir:rule ( [
           fhir:name [ fhir:v "SetPolioType" ] ;
           fhir:source ( [
             fhir:context [ fhir:v "answer" ] ;
             fhir:element [ fhir:v "value" ] ;
             fhir:variable [ fhir:v "coding" ]
           ] ) ;
           fhir:target ( [
             fhir:context [ fhir:v "immz" ] ;
             fhir:contextType [ fhir:v "variable" ] ;
             fhir:element [ fhir:v "poliotype" ] ;
             fhir:transform [ fhir:v "copy" ] ;
             fhir:parameter ( [
               fhir:value [ fhir:v "coding" ]
             ] )
           ] )
         ] )
       ] )
     ] )
  ] ) . # 

# -------------------------------------------------------------------------------------

