HL7 Australia Implementation Guide: home
Logical Model Mappings FHIR Resources HL7 V2.4 Messaging

Colorectal Map

Thise is the mapping between FHIR resources and the Colorectal Logical Model. For context, see the explanation of how this guide works.

Summary

Defining URL:http://fhir.hl7.org.au/fhir/rcpa/StructureMap/ColorectalMap
Name:Colorectal --> DiagnosticReport Mapping
Source Resource XML / JSON / Turtle

Content

SourceTarget
Input: Colorectal
Colorectalnew DiagnosticReport
Colorectal.subjectDiagnosticReport.subject
Colorectal.requesternew ProcedureRequest, ProcedureRequest.requester.agent
Colorectal.performerDiagnosticReport.performer.actor
Colorectal.preAnalyticnew Observation, Observation.code = http://cap.org/protocols#28592.1000043(Colorectal.preAnalytic)
Colorectal.preAnalytic.clinicalInformationnew ProcedureRequest, ProcedureRequest.reasonCode.text
Colorectal.preAnalytic.operatingSurgeonDetailsnew Specimen, Specimen.collection.collector
Colorectal.preAnalytic.perforationnew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28289.1000043(Colorectal.preAnalytic.perforation))
Colorectal.preAnalytic.natureOfPerforationnew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28296.1000043(Colorectal.preAnalytic.natureOfPerforation))
Colorectal.preAnalytic.clinicalObstructionnew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28292.1000043(Colorectal.preAnalytic.clinicalObstruction))
Colorectal.preAnalytic.tumourLocationnew Observation.value (--> CodeableConcept) (code = LOINC#33725-3(Tumor site by CAP cancer protocols))
Colorectal.preAnalytic.synchronousTumoursnew Observation.value (code = http://cap.org/protocols#28346.1000043(Colorectal.preAnalytic.synchronousTumours))
Colorectal.preAnalytic.distanceAnalVergenew Observation.value (code = LOINC#33748-5(Distance from anal verge by CAP cancer protocols))
Colorectal.preAnalytic.typeOfOperationnew Observation, Observation.code = LOINC#29306-8(Surgery procedure)
Colorectal.preAnalytic.typeOfOperation.codeObservation.value.coding (--> Coding)
Colorectal.preAnalytic.typeOfOperation.otherObservation.value.text
Colorectal.preAnalytic.anteriorResectionTypenew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28278.1000043(Colorectal.preAnalytic.anteriorResectionType))
Colorectal.preAnalytic.preoperativeRadiotherapynew Observation.value (--> CodeableConcept) (code = LOINC#LN-RCPA-00063)
Colorectal.preAnalytic.typeOfCoursenew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28286.1000043(Colorectal.preAnalytic.typeOfCourse))
Colorectal.preAnalytic.surgeonsOpinionnew Observation.value (code = http://cap.org/protocols#28295.1000043(Colorectal.preAnalytic.surgeonsOpinion))
Colorectal.preAnalytic.adjacentOrgansnew Observation.value (code = http://cap.org/protocols#28336.1000043(Colorectal.preAnalytic.adjacentOrgans))
Colorectal.preAnalytic.newPrimaryOrRecurrencenew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28337.1000043(Colorectal.preAnalytic.newPrimaryOrRecurrence))
Colorectal.preAnalytic.RecurrenceDescriptionnew Observation.value (code = http://something#sort-this-1)
Colorectal.preAnalytic.pathologyAccessionNumbernew Observation.value (code = http://something#sort-this-2)
Colorectal.preAnalytic.otherRelevantDetailsnew Observation.value (code = http://cap.org/protocols#28301.1000043(Colorectal.preAnalytic.otherRelevantDetails))
Colorectal.macronew Observation, Observation.code = http://cap.org/protocols#27906.1000043(Colorectal.macro)
Colorectal.macro.specimenLengthnew Observation.value (code = SNOMED CT#384606002(Length of specimen (observable entity)))
Colorectal.macro.tumourSitenew Observation.value (--> CodeableConcept) (code = LOINC#33725-3(Tumor site by CAP cancer protocols))
Colorectal.macro.maxTumourDiameternew Observation.value (code = LOINC#21889-1(Size Tumor))
Colorectal.macro.distanceNearerProxOrDistalnew Observation.value (code = LOINC#81175-2(Distance of tumor from closest margin [Length] in Specimen by Macroscopy))
Colorectal.macro.distNonperitonCircumMarginnew Observation.value (code = http://cap.org/protocols#28358.1000043(Colorectal.macro.distNonperitonCircumMargin))
Colorectal.macro.tumourPerforationnew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#27963.1000043(Colorectal.macro.tumourPerforation))
Colorectal.macro.relToAntPeritonealReflectionnew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28362.1000043(Colorectal.macro.relToAntPeritonealReflection))
Colorectal.macro.intactnessOfMesorectumnew Observation.value (--> CodeableConcept) (code = LOINC#33730-3(Resection completeness in Mesorectum Qualitative by CAP cancer protocols))
Colorectal.macro.peritoneumnew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28369.1000043(Colorectal.macro.peritoneum))
Colorectal.macro.lymphNodesnew Observation.value (--> CodeableConcept) (code = SNOMED CT#364108009(Lymph node observable))
Colorectal.macro.noLymphNodesPerCassettenew Observation.value (code = SNOMED CT#444025001(Number of lymph nodes examined (observable entity)))
Colorectal.macro.polypsnew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28376.1000043(Colorectal.macro.polyps))
Colorectal.macro.polypSummarynew Observation.value (code = http://cap.org/protocols#28379.1000043(Colorectal.macro.polypSummary))
Colorectal.macro.otherMacroCommentsnew Observation.value (code = LOINC#22634-0(Pathology report gross observation Narrative))
Colorectal.macro.natureAndSiteOfBlocksnew Observation.value (code = LOINC#81178-6(Tissue block description and site Narrative))
Colorectal.micronew Observation, Observation.code = http://cap.org/protocols#27973.1000043(Colorectal.micro)
Colorectal.micro.tumourTypenew Observation.value (--> CodeableConcept) (code = SNOMED CT#371441004(Histologic type (observable entity)))
Colorectal.micro.histologicalGradenew Observation.value (--> CodeableConcept) (code = LOINC#33732-9(Histology grade by CAP cancer protocols))
Colorectal.micro.maxDegreeLocalInvasionnew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28534.1000043(Colorectal.micro.maxDegreeLocalInvasion))
Colorectal.micro.proximalOrDistalResectionMarginsnew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28348.1000043(Colorectal.micro.proximalOrDistalResectionMargins))
Colorectal.micro.involvedMarginsnew Observation.value (--> CodeableConcept) (code = LOINC#44699-7(Extent of margin involvement by CAP cancer protocols))
Colorectal.micro.marginsMicroClearancenew Observation.value (code = http://cap.org/protocols#28396.1000043(Colorectal.micro.marginsMicroClearance))
Colorectal.micro.nonperitonealisedCircumMarginnew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28354.1000043(Colorectal.micro.nonperitonealisedCircumMargin))
Colorectal.micro.microClearanceRectumnew Observation.value (code = http://cap.org/protocols#28400.1000043(Colorectal.micro.microClearanceRectum))
Colorectal.micro.lymphNodeInvolvementnew Observation.value (--> CodeableConcept) (code = LOINC#21892-5(Lymph node involvement Cancer))
Colorectal.micro.lymphNodesDetailsnew Observation, Observation.code = http://cap.org/protocols#28404.1000043(Colorectal.micro.lymphNodesDetails)
Colorectal.micro.lymphNodesDetails.sitenew Observation.value (code = LOINC#39111-0(Body site))
Colorectal.micro.lymphNodesDetails.numPosnew Observation.value (code = LOINC#21893-3(Regional lymph nodes positive [#] Specimen))
Colorectal.micro.lymphNodesDetails.numExaminednew Observation.value (code = LOINC#21894-1(Regional lymph nodes examined [#] Specimen))
Colorectal.micro.extramuralTumourDepositsnew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28392.1000043(Colorectal.micro.extramuralTumourDeposits))
Colorectal.micro.apicalNodeInvolvementnew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28407.1000043(Colorectal.micro.apicalNodeInvolvement))
Colorectal.micro.venousSmallVesselInvasionnew Observation.value (code = LOINC#33761-8(Venous + Lymphatic small vessel invasion by CAP cancer protocols))
Colorectal.micro.intramuralVeinInvasionnew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28412.1000043(Colorectal.micro.intramuralVeinInvasion))
Colorectal.micro.extramuralVeinInvasionnew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28415.1000043(Colorectal.micro.extramuralVeinInvasion))
Colorectal.micro.smallVesselInvasionnew Observation.value (--> CodeableConcept) (code = LOINC#33739-4(Lymphatic.small vessel.invasion by CAP cancer protocols))
Colorectal.micro.perineuralInvasionnew Observation.value (--> CodeableConcept) (code = LOINC#33741-0(Perineural invasion by CAP cancer protocols))
Colorectal.micro.histoConfDistMetastasesnew Observation.value (--> CodeableConcept) (code = SNOMED CT#399608002(Status of distant metastasis (observable entity)))
Colorectal.micro.histoConfDistMetastasesSitenew Observation.value (code = LOINC#21920-4(Site of distant metastasis Cancer))
Colorectal.micro.relCoexistPathabnormnew Observation, Observation.code = SNOMED CT#371498006(Additional pathologic finding in tumor specimen (observable entity))
Colorectal.micro.relCoexistPathabnorm.codeObservation.value.coding (--> Coding)
Colorectal.micro.relCoexistPathabnorm.otherObservation.value.text
Colorectal.micro.polypDetailsnew Observation.value (code = LOINC#33745-1(Polyps by CAP cancer protocols))
Colorectal.micro.dysplasianew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28426.1000043(Colorectal.micro.dysplasia))
Colorectal.micro.otherAbnormalitynew Observation.value (code = http://test.what/here#something)
Colorectal.micro.microResidualTumourStatusnew Observation.value (code = http://cap.org/protocols#28425.1000043(Colorectal.micro.microResidualTumourStatus))
Colorectal.micro.neoadjuvantTherapynew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28123.1000043(Colorectal.micro.neoadjuvantTherapy))
Colorectal.micro.microCommentsnew Observation.value (code = LOINC#22635-7(Pathology report microscopic observation Narrative Other stain))
Colorectal.ancillaryTestsnew Observation, Observation.code = http://cap.org/protocols#28156.1000043(Colorectal.ancillaryTests)
Colorectal.ancillaryTests.mlh1new Observation.value (--> CodeableConcept) (code = LOINC#50322-7(MLH-1 Ag [Presence] in Tissue by Immune stain))
Colorectal.ancillaryTests.pms2new Observation.value (--> CodeableConcept) (code = LOINC#50328-4(PMS-2 Ag [Presence] in Tissue by Immune stain))
Colorectal.ancillaryTests.msh2new Observation.value (--> CodeableConcept) (code = LOINC#50323-5(MSH-2 Ag [Presence] in Tissue by Immune stain))
Colorectal.ancillaryTests.msh6new Observation.value (--> CodeableConcept) (code = LOINC#50324-3(MSH-6 Ag [Presence] in Tissue by Immune stain))
Colorectal.ancillaryTests.commentsnew Observation.value (code = http://cap.org/protocols#28436.1000043(Colorectal.ancillaryTests.comments))
Colorectal.ancillaryTests.msinew Observation, Observation.code = http://cap.org/protocols#28399.1000043(Colorectal.ancillaryTests.msi)
Colorectal.ancillaryTests.msi.codenew Observation.value (--> CodeableConcept) (code = LOINC#43368-0(Microsatellite instability [Identifier] in Tissue by Molecular genetics method Nominal))
Colorectal.ancillaryTests.msi.commentsnew Observation.value (code = http://cap.org/protocols#28453.1000043(Colorectal.ancillaryTests.msi.comments))
Colorectal.ancillaryTests.msi.labDetailsnew Observation.value (code = http://cap.org/protocols#28447.1000043(Colorectal.ancillaryTests.msi.labDetails))
Colorectal.ancillaryTests.brafnew Observation, Observation.code = http://cap.org/protocols#28454.1000043(Colorectal.ancillaryTests.braf)
Colorectal.ancillaryTests.braf.codenew Observation.value (--> CodeableConcept) (code = LOINC#58483-9(BRAF gene mutations found [Identifier] in Blood or Tissue by Molecular genetics method Nominal))
Colorectal.ancillaryTests.braf.commentsnew Observation.value (code = http://cap.org/protocols#28460.1000043(Colorectal.ancillaryTests.braf.comments))
Colorectal.ancillaryTests.braf.labDetailsnew Observation.value (code = http://cap.org/protocols#28459.1000043(Colorectal.ancillaryTests.braf.labDetails))
Colorectal.ancillaryTests.krasnew Observation, Observation.code = http://cap.org/protocols#28461.1000043(Colorectal.ancillaryTests.kras)
Colorectal.ancillaryTests.kras.codenew Observation.value (--> CodeableConcept) (code = LOINC#21703-4(KRAS gene mutations tested for in Blood or Tissue by Molecular genetics method Nominal))
Colorectal.ancillaryTests.kras.commentsnew Observation.value (code = http://cap.org/protocols#28465.1000043(Colorectal.ancillaryTests.kras.comments))
Colorectal.ancillaryTests.kras.labDetailsnew Observation.value (code = http://cap.org/protocols#28466.1000043(Colorectal.ancillaryTests.kras.labDetails))
Colorectal.synthesisOverviewnew Observation, Observation.code = http://cap.org/protocols#28253.1000043(Colorectal.synthesisOverview)
Colorectal.synthesisOverview.tumourStageTnew Observation.value (--> CodeableConcept) (code = SNOMED CT#78873005(Tumour stages))
Colorectal.synthesisOverview.tumourStageNnew Observation.value (--> CodeableConcept) (code = SNOMED CT#277206009(N category (observable entity)))
Colorectal.synthesisOverview.tumourStageMnew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28552.1000043(Colorectal.synthesisOverview.tumourStageM))
Colorectal.synthesisOverview.tumourStageGroupingnew Observation.value (--> CodeableConcept) (code = LOINC#21902-2(Stage group.pathology Cancer))
Colorectal.synthesisOverview.tumourStagingSystemnew Observation.value (code = SNOMED CT#443941007(Edition of American Joint Commission on Cancer, Cancer Staging Manual used for TNM staging (observable entity)))
Colorectal.synthesisOverview.diagnosticSummarynew Observation.value (code = LOINC#22637-3(Pathology report final diagnosis Narrative))
Colorectal.synthesisOverview.newPrimaryOrRecurrencenew Observation.value (--> CodeableConcept) (code = http://cap.org/protocols#28472.1000043(Colorectal.synthesisOverview.newPrimaryOrRecurrence))
Colorectal.synthesisOverview.newDescriptionnew Observation.value (code = http://cap.org/protocols#28473.1000043(Colorectal.synthesisOverview.newDescription))
Colorectal.synthesisOverview.overarchingCommentnew Observation.value (code = LOINC#22638-1(Pathology report comments [Interpretation] Narrative))

Script

map "http://fhir.hl7.org.au/fhir/rcpa/StructureMap/ColorectalMap" = "Colorectal --> DiagnosticReport Mapping"

uses "http://fhir.hl7.org.au/fhir/rcpa/StructureDefinition/Colorectal" as source

group for types Colorectal
  input source : Colorectal as source

  Colorectal : for source make  create("DiagnosticReport") as cdr,  cdr.status = "final",  cdr.code = cc("http://snomed.info/sct", "todo") then {
    Colorectal.subject : for source.subject : Reference 1..1 as v make cdr.subject = v
    Colorectal.requester : for source.requester : Reference 0..1 as v make  create("ProcedureRequest") as do,  cdr.request = reference(do),  do.subject = ("source.subject"),  do.requester as prr,  prr.agent = v
    Colorectal.performer : for source.performer : Reference 0..1 as v make  cdr.performer as prr,  prr.actor = v
    Colorectal.preAnalytic : for source.preAnalytic : code 0..1 as spa make  create("Observation") as tpa,  cdr.result = reference(tpa),  tpa.subject = ("source.subject"),  tpa.status = "final",  tpa.code = cc("http://cap.org/protocols", "28592.1000043") then {
      Colorectal.preAnalytic.clinicalInformation : for spa.clinicalInformation as v make  create("ProcedureRequest") as do,  do.reasonCode as dr,  dr.text = v
      Colorectal.preAnalytic.operatingSurgeonDetails : for spa.operatingSurgeonDetails : Reference 0..1 as v make  create("Specimen") as sp,  cdr.specimen = reference(sp),  sp.subject = ("source.subject"),  sp.collection as tc,  tc.collector = v
      Colorectal.preAnalytic.perforation : for spa.perforation : code 0..1 as v make  create("Observation") as obs,  tpa.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28289.1000043"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/present-absent-ns", v)
      Colorectal.preAnalytic.natureOfPerforation : for spa.natureOfPerforation : code 0..1 as v make  create("Observation") as obs,  tpa.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28296.1000043"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/perforation-type", v)
      Colorectal.preAnalytic.clinicalObstruction : for spa.clinicalObstruction : code 0..1 as v make  create("Observation") as obs,  tpa.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28292.1000043"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/present-absent-ns", v)
      Colorectal.preAnalytic.tumourLocation : for spa.tumourLocation : code 0..1 as v make  create("Observation") as obs,  tpa.related as tpar,  tpar.type = "has-member",  tpar.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "33725-3"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/crc-tumour-location", v)
      Colorectal.preAnalytic.synchronousTumours : for spa.synchronousTumours : code 0..1 as v make  create("Observation") as obs,  tpa.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28346.1000043"),  obs.value = v
      Colorectal.preAnalytic.distanceAnalVerge : for spa.distanceAnalVerge : code 0..1 as v make  create("Observation") as obs,  tpa.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "33748-5"),  obs.value = v
      Colorectal.preAnalytic.typeOfOperation : for spa.typeOfOperation : code 0..1 as sto make  create("Observation") as obs,  tpa.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "29306-8"),  obs.value = create("CodeableConcept") as tcc then {
        Colorectal.preAnalytic.typeOfOperation.code : for sto.code : code 0..1 as v make tcc.coding = c("http://snomed.info/sct", v)
        Colorectal.preAnalytic.typeOfOperation.other : for sto.other : code 0..1 as v make tcc.text = v
      }

      Colorectal.preAnalytic.anteriorResectionType : for spa.anteriorResectionType : code 0..1 as v make  create("Observation") as obs,  tpa.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28278.1000043", "Anterior resection type"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/hi-lo-ultralo", v)
      Colorectal.preAnalytic.preoperativeRadiotherapy : for spa.preoperativeRadiotherapy : code 0..1 as v make  create("Observation") as obs,  tpa.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "LN-RCPA-00063"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/yes-no-ns", v)
      Colorectal.preAnalytic.typeOfCourse : for spa.typeOfCourse : code 0..1 as v make  create("Observation") as obs,  tpa.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28286.1000043", "Type of course"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/course-type", v)
      Colorectal.preAnalytic.surgeonsOpinion : for spa.surgeonsOpinion : code 0..1 as v make  create("Observation") as obs,  tpa.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28295.1000043", "Surgeons opinion of residual cancer"),  obs.value = v
      Colorectal.preAnalytic.adjacentOrgans : for spa.adjacentOrgans : code 0..1 as v make  create("Observation") as obs,  tpa.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28336.1000043", "Adjacent organ involvement"),  obs.value = v
      Colorectal.preAnalytic.newPrimaryOrRecurrence : for spa.newPrimaryOrRecurrence : code 0..1 as v make  create("Observation") as obs,  tpa.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28337.1000043", "New primary cancer or recurrence"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/cancer-primary-or-recurrence", v)
      Colorectal.preAnalytic.RecurrenceDescription : for spa.RecurrenceDescription : code 0..1 as v make  create("Observation") as obs,  tpa.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://something", "sort-this-1"),  obs.value = v
      Colorectal.preAnalytic.pathologyAccessionNumber : for spa.pathologyAccessionNumber : code 0..1 as v make  create("Observation") as obs,  tpa.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://something", "sort-this-2"),  obs.value = v
      Colorectal.preAnalytic.otherRelevantDetails : for spa.otherRelevantDetails : code 0..1 as v make  create("Observation") as obs,  tpa.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28301.1000043", "Other details"),  obs.value = v
    }

    Colorectal.macro : for source.macro : code 0..1 as sma make  create("Observation") as tma,  cdr.result = reference(tma),  tma.subject = ("source.subject"),  tma.status = "final",  tma.code = cc("http://cap.org/protocols", "27906.1000043", "Macroscopy") then {
      Colorectal.macro.specimenLength : for sma.specimenLength : code 0..1 as v make  create("Observation") as obs,  tma.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://snomed.info/sct", "384606002"),  obs.value = v
      Colorectal.macro.tumourSite : for sma.tumourSite : code 0..1 as v make  create("Observation") as obs,  tma.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "33725-3"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/crc-tumour-location", v)
      Colorectal.macro.maxTumourDiameter : for sma.maxTumourDiameter : code 0..1 as v make  create("Observation") as obs,  tma.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "21889-1"),  obs.value = v
      Colorectal.macro.distanceNearerProxOrDistal : for sma.distanceNearerProxOrDistal : code 0..1 as v make  create("Observation") as obs,  tma.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "81175-2"),  obs.value = v
      Colorectal.macro.distNonperitonCircumMargin : for sma.distNonperitonCircumMargin : code 0..1 as v make  create("Observation") as obs,  tma.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28358.1000043", "Distance of tumour to the nonperitonealised circumferential margin"),  obs.value = v
      Colorectal.macro.tumourPerforation : for sma.tumourPerforation : code 0..1 as v make  create("Observation") as obs,  tma.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "27963.1000043", "Tumour perforation"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/present-absent", v)
      Colorectal.macro.relToAntPeritonealReflection : for sma.relToAntPeritonealReflection : code 0..1 as v make  create("Observation") as obs,  tma.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28362.1000043", "Site of rectal tumour in relation to the anterior level of the peritoneal reflection"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/crc-rel-anterior-peritoneal-reflection", v)
      Colorectal.macro.intactnessOfMesorectum : for sma.intactnessOfMesorectum : code 0..1 as v make  create("Observation") as obs,  tma.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "33730-3"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/crc-intactness-of-mesorectum", v)
      Colorectal.macro.peritoneum : for sma.peritoneum : code 0..1 as v make  create("Observation") as obs,  tma.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28369.1000043", "Peritoneum"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/crc-peritoneum-invasion", v)
      Colorectal.macro.lymphNodes : for sma.lymphNodes : code 0..1 as v make  create("Observation") as obs,  tma.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://snomed.info/sct", "364108009"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/received-notreceived", v)
      Colorectal.macro.noLymphNodesPerCassette : for sma.noLymphNodesPerCassette : code 0..1 as v make  create("Observation") as obs,  tma.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://snomed.info/sct", "444025001"),  obs.value = v
      Colorectal.macro.polyps : for sma.polyps : code 0..1 as v make  create("Observation") as obs,  tma.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28376.1000043", "The presence or absence of polyps should be recorded"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/present-absent-na", v)
      Colorectal.macro.polypSummary : for sma.polypSummary : code 0..1 as v make  create("Observation") as obs,  tma.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28379.1000043", "The number, diameter and gross configuration of polyps should be summarised"),  obs.value = v
      Colorectal.macro.otherMacroComments : for sma.otherMacroComments : code 0..1 as v make  create("Observation") as obs,  tma.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "22634-0"),  obs.value = v
      Colorectal.macro.natureAndSiteOfBlocks : for sma.natureAndSiteOfBlocks : code 0..1 as v make  create("Observation") as obs,  tma.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "81178-6"),  obs.value = v
    }

    Colorectal.micro : for source.micro : code 0..1 as smi make  create("Observation") as tmi,  cdr.result = reference(tmi),  tmi.subject = ("source.subject"),  tmi.status = "final",  tmi.code = cc("http://cap.org/protocols", "27973.1000043", "Microscopy") then {
      Colorectal.micro.tumourType : for smi.tumourType : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://snomed.info/sct", "371441004"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/crc-tumour-type", v)
      Colorectal.micro.histologicalGrade : for smi.histologicalGrade : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "33732-9"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/histological-grade", v)
      Colorectal.micro.maxDegreeLocalInvasion : for smi.maxDegreeLocalInvasion : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28534.1000043", "Maximum degree of local invasion into or through the bowel wall"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/crc-deg-inv-bowel-wall", v)
      Colorectal.micro.proximalOrDistalResectionMargins : for smi.proximalOrDistalResectionMargins : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28348.1000043", "Involvement of the proximal or distal resection (cut-end) margins"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/involved-notinvolved", v)
      Colorectal.micro.involvedMargins : for smi.involvedMargins : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "44699-7"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/distal-proximal", v)
      Colorectal.micro.marginsMicroClearance : for smi.marginsMicroClearance : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28396.1000043", "Microscopic Clearance"),  obs.value = v
      Colorectal.micro.nonperitonealisedCircumMargin : for smi.nonperitonealisedCircumMargin : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28354.1000043", "Status of the nonperitonealised circumferential margin (rectal tumours)"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/involved-notinvolved", v)
      Colorectal.micro.microClearanceRectum : for smi.microClearanceRectum : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28400.1000043", "Microscopic Clearance"),  obs.value = v
      Colorectal.micro.lymphNodeInvolvement : for smi.lymphNodeInvolvement : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "21892-5"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/present-absent-na", v)
      Colorectal.micro.lymphNodesDetails : for smi.lymphNodesDetails : code 0..1 as slnd make  create("Observation") as tlnd,  tmi.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(tlnd),  tlnd.subject = ("source.subject"),  tlnd.status = "final",  tlnd.code = cc("http://cap.org/protocols", "28404.1000043", "Site(s) and numbers of lymph nodes") then {
        Colorectal.micro.lymphNodesDetails.site : for slnd.site : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "39111-0"),  obs.value = v
        Colorectal.micro.lymphNodesDetails.numPos : for slnd.numPos : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "21893-3"),  obs.value = v
        Colorectal.micro.lymphNodesDetails.numExamined : for slnd.numExamined : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "21894-1"),  obs.value = v
      }

      Colorectal.micro.extramuralTumourDeposits : for smi.extramuralTumourDeposits : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28392.1000043", "Isolated extra-mural tumour deposits"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/present-absent-na", v)
      Colorectal.micro.apicalNodeInvolvement : for smi.apicalNodeInvolvement : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28407.1000043", "Apical node involvement"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/present-absent-na", v)
      Colorectal.micro.venousSmallVesselInvasion : for smi.venousSmallVesselInvasion : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "33761-8"),  obs.value = v
      Colorectal.micro.intramuralVeinInvasion : for smi.intramuralVeinInvasion : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28412.1000043", "Intramural vein invasion"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/intramural-vein-invasion", v)
      Colorectal.micro.extramuralVeinInvasion : for smi.extramuralVeinInvasion : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28415.1000043", "Extramural vein invasion"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/extramural-vein-invasion", v)
      Colorectal.micro.smallVesselInvasion : for smi.smallVesselInvasion : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "33739-4"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/small-vessel-invasion", v)
      Colorectal.micro.perineuralInvasion : for smi.perineuralInvasion : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "33741-0"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/perineural-invasion", v)
      Colorectal.micro.histoConfDistMetastases : for smi.histoConfDistMetastases : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://snomed.info/sct", "399608002"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/present-absent-ns", v)
      Colorectal.micro.histoConfDistMetastasesSite : for smi.histoConfDistMetastasesSite : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "21920-4"),  obs.value = v
      Colorectal.micro.relCoexistPathabnorm : for smi.relCoexistPathabnorm : code 0..1 as scc make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://snomed.info/sct", "371498006"),  obs.value = create("CodeableConcept") as tcc then {
        Colorectal.micro.relCoexistPathabnorm.code : for scc.code : code 0..1 as v make tcc.coding = c("http://snomed.info/sct", v)
        Colorectal.micro.relCoexistPathabnorm.other : for scc.other : code 0..1 as v make tcc.text = v
      }

      Colorectal.micro.polypDetails : for smi.polypDetails : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "33745-1"),  obs.value = v
      Colorectal.micro.dysplasia : for smi.dysplasia : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28426.1000043", "Dysplasia"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/dysplasia", v)
      Colorectal.micro.otherAbnormality : for smi.otherAbnormality : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://test.what/here", "something"),  obs.value = v
      Colorectal.micro.microResidualTumourStatus : for smi.microResidualTumourStatus : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28425.1000043", "Microscopic residual tumour status (completeness of resection)"),  obs.value = v
      Colorectal.micro.neoadjuvantTherapy : for smi.neoadjuvantTherapy : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28123.1000043", "Response to neoadjuvant therapy"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/response-to-neoadjuvant-therapy", v)
      Colorectal.micro.microComments : for smi.microComments : code 0..1 as v make  create("Observation") as obs,  obs.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "22635-7"),  obs.value = v
    }

    Colorectal.ancillaryTests : for source.ancillaryTests : code 0..1 as sat make  create("Observation") as tat,  cdr.result = reference(tat),  tat.subject = ("source.subject"),  tat.status = "final",  tat.code = cc("http://cap.org/protocols", "28156.1000043", "Ancillary test findings") then {
      Colorectal.ancillaryTests.mlh1 : for sat.mlh1 : code 0..1 as v make  create("Observation") as obs,  tat.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "50322-7"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/stain-type", v)
      Colorectal.ancillaryTests.pms2 : for sat.pms2 : code 0..1 as v make  create("Observation") as obs,  tat.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "50328-4"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/stain-type", v)
      Colorectal.ancillaryTests.msh2 : for sat.msh2 : code 0..1 as v make  create("Observation") as obs,  tat.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "50323-5"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/stain-type", v)
      Colorectal.ancillaryTests.msh6 : for sat.msh6 : code 0..1 as v make  create("Observation") as obs,  tat.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "50324-3"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/stain-type", v)
      Colorectal.ancillaryTests.comments : for sat.comments : code 0..1 as v make  create("Observation") as obs,  tat.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28436.1000043", "Mismatch repair enzyme comments"),  obs.value = v
      Colorectal.ancillaryTests.msi : for sat.msi : code 0..1 as smsi make  create("Observation") as tmsi,  tat.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(tmsi),  tmsi.subject = ("source.subject"),  tmsi.status = "final",  tmsi.code = cc("http://cap.org/protocols", "28399.1000043", "Microsatellite instability (MSI)") then {
        Colorectal.ancillaryTests.msi.code : for smsi.code : code 0..1 as v make  create("Observation") as obs,  tmsi.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "43368-0"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/msi-options", v)
        Colorectal.ancillaryTests.msi.comments : for smsi.comments : code 0..1 as v make  create("Observation") as obs,  tmsi.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28453.1000043", "Microsatellite instability (MSI) comments"),  obs.value = v
        Colorectal.ancillaryTests.msi.labDetails : for smsi.labDetails : code 0..1 as v make  create("Observation") as obs,  tmsi.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28447.1000043", "MSI laboratory performing test and report number"),  obs.value = v
      }

      Colorectal.ancillaryTests.braf : for sat.braf : code 0..1 as sbraf make  create("Observation") as tbraf,  tat.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(tbraf),  tbraf.subject = ("source.subject"),  tbraf.status = "final",  tbraf.code = cc("http://cap.org/protocols", "28454.1000043", "BRAF (V600E mutation)") then {
        Colorectal.ancillaryTests.braf.code : for sbraf.code : code 0..1 as v make  create("Observation") as obs,  tbraf.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "58483-9"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/mutated-wildtype", v)
        Colorectal.ancillaryTests.braf.comments : for sbraf.comments : code 0..1 as v make  create("Observation") as obs,  tbraf.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28460.1000043", "BRAF (V600E mutation) comments"),  obs.value = v
        Colorectal.ancillaryTests.braf.labDetails : for sbraf.labDetails : code 0..1 as v make  create("Observation") as obs,  tbraf.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28459.1000043", "BRAF (V600E mutation) laboratory performing test and report number"),  obs.value = v
      }

      Colorectal.ancillaryTests.kras : for sat.kras : code 0..1 as skras make  create("Observation") as tkras,  tat.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(tkras),  tkras.subject = ("source.subject"),  tkras.status = "final",  tkras.code = cc("http://cap.org/protocols", "28461.1000043", "KRAS gene mutation (codons 12 and 13)") then {
        Colorectal.ancillaryTests.kras.code : for skras.code : code 0..1 as v make  create("Observation") as obs,  tkras.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "21703-4"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/mutated-wildtype", v)
        Colorectal.ancillaryTests.kras.comments : for skras.comments : code 0..1 as v make  create("Observation") as obs,  tkras.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28465.1000043", "KRAS gene mutation (codons 12 and 13) comments"),  obs.value = v
        Colorectal.ancillaryTests.kras.labDetails : for skras.labDetails : code 0..1 as v make  create("Observation") as obs,  tkras.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28466.1000043", "KRAS gene mutation (codons 12 and 13) laboratory performing test and report number"),  obs.value = v
      }

    }

    Colorectal.synthesisOverview : for source.synthesisOverview : code 0..1 as sso make  create("Observation") as tto,  cdr.result = reference(tto),  tto.subject = ("source.subject"),  tto.status = "final",  tto.code = cc("http://cap.org/protocols", "28253.1000043", "Synthesis and Overview") then {
      Colorectal.synthesisOverview.tumourStageT : for sso.tumourStageT : code 0..1 as v make  create("Observation") as obs,  tto.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://snomed.info/sct", "78873005"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/crc-tumour-stage-t", v)
      Colorectal.synthesisOverview.tumourStageN : for sso.tumourStageN : code 0..1 as v make  create("Observation") as obs,  tto.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://snomed.info/sct", "277206009"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/crc-tumour-stage-n", v)
      Colorectal.synthesisOverview.tumourStageM : for sso.tumourStageM : code 0..1 as v make  create("Observation") as obs,  tto.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28552.1000043", "M"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/crc-tumour-stage-m", v)
      Colorectal.synthesisOverview.tumourStageGrouping : for sso.tumourStageGrouping : code 0..1 as v make  create("Observation") as obs,  tto.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "21902-2"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/crc-tumour-stage-grouping", v)
      Colorectal.synthesisOverview.tumourStagingSystem : for sso.tumourStagingSystem : code 0..1 as v make  create("Observation") as obs,  tto.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://snomed.info/sct", "443941007"),  obs.value = v
      Colorectal.synthesisOverview.diagnosticSummary : for sso.diagnosticSummary : code 0..1 as v make  create("Observation") as obs,  tto.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "22637-3"),  obs.value = v
      Colorectal.synthesisOverview.newPrimaryOrRecurrence : for sso.newPrimaryOrRecurrence : code 0..1 as v make  create("Observation") as obs,  tto.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28472.1000043", "New primary cancer or recurrence"),  obs.value = cc("http://fhir.hl7.org.au/fhir/rcpa/ValueSet/new-cancer-or-recurrence", v)
      Colorectal.synthesisOverview.newDescription : for sso.newDescription : code 0..1 as v make  create("Observation") as obs,  tto.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://cap.org/protocols", "28473.1000043", "Describe"),  obs.value = v
      Colorectal.synthesisOverview.overarchingComment : for sso.overarchingComment : code 0..1 as v make  create("Observation") as obs,  tto.related as xtmp,  xtmp.type = "has-member",  xtmp.target = reference(obs),  obs.subject = ("source.subject"),  obs.status = "final",  obs.code = cc("http://loinc.org", "22638-1"),  obs.value = v
    }

  }


endgroup