From 885a4719838693e25c26777541c5364cbd464bcb Mon Sep 17 00:00:00 2001 From: Kenneth Myhra Date: Fri, 1 May 2026 16:57:21 +0200 Subject: [PATCH 1/5] Wrap observation.performer in [] this has a cardinality of 0.* --- lib/tests/suites/connectathon_genomics_track_test.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/tests/suites/connectathon_genomics_track_test.rb b/lib/tests/suites/connectathon_genomics_track_test.rb index a7152e1..4c30abb 100644 --- a/lib/tests/suites/connectathon_genomics_track_test.rb +++ b/lib/tests/suites/connectathon_genomics_track_test.rb @@ -63,7 +63,7 @@ def teardown observation.subject = @records[:patient].to_reference observation.specimen = @records[:specimen_register_create].to_reference - observation.performer = @records[:practitioner].to_reference + observation.performer = [@records[:practitioner].to_reference] create_object(observation, :observation_register_create) end @@ -162,7 +162,7 @@ def teardown dw_obs = @resources.observation_datawarehouse - dw_obs.performer = @records[:practitioner].to_reference + dw_obs.performer = [@records[:practitioner].to_reference] dw_obs.subject = @records[:family_patient].to_reference dw_obs.specimen = @records[:family_specimen].to_reference create_object(dw_obs, :dw_obs) From 1d4ce0907889f4b47d4ab24699d5c5ed60b3eb45 Mon Sep 17 00:00:00 2001 From: Kenneth Myhra Date: Fri, 1 May 2026 16:58:49 +0200 Subject: [PATCH 2/5] Wrap DiagnosticReport.{result,specimen} in [] These attributes has a cardinality of 0.* and should therefore be treated as arrays. --- lib/tests/suites/connectathon_genomics_track_test.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/tests/suites/connectathon_genomics_track_test.rb b/lib/tests/suites/connectathon_genomics_track_test.rb index 4c30abb..efb0597 100644 --- a/lib/tests/suites/connectathon_genomics_track_test.rb +++ b/lib/tests/suites/connectathon_genomics_track_test.rb @@ -127,11 +127,11 @@ def teardown create_object(specimen, :family_specimen) diag_report = @resources.diagnostic_familyhistory - diag_report.result = @records[:family_observation].to_reference + diag_report.result = [@records[:family_observation].to_reference] diag_report.subject = @records[:family_patient].to_reference diag_report.performer = [ FHIR::STU3::DiagnosticReport::Performer.new ] diag_report.performer.first.actor = @records[:practitioner].to_reference - diag_report.specimen = @records[:family_specimen].to_reference + diag_report.specimen = [@records[:family_specimen].to_reference] create_object(diag_report, :family_report) reply = @client.read FHIR::STU3::FamilyMemberHistory, @records[:family_member_history].id From f304ffaa243fc39fc869d43595d6763cf9a3e524 Mon Sep 17 00:00:00 2001 From: Kenneth Myhra Date: Fri, 1 May 2026 17:01:09 +0200 Subject: [PATCH 3/5] Various fixes for A13 failures - comm.subject is 0.1, should not be wrapped as an array - payload.contentAttachment is 0.1, should not be wrapped as an array - comm.payload is 0.* an should be wrapped in [] as an array - Solicited variant also uses .compact for nullable comm_req.sender --- .../suites/connectathon_attachment_track_test.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/tests/suites/connectathon_attachment_track_test.rb b/lib/tests/suites/connectathon_attachment_track_test.rb index 7885084..31c6e52 100644 --- a/lib/tests/suites/connectathon_attachment_track_test.rb +++ b/lib/tests/suites/connectathon_attachment_track_test.rb @@ -59,7 +59,7 @@ def teardown requires resource: 'Communication', methods: ['create'] } comm = FHIR::STU3::Communication.new() - comm.subject = [@records[:patient].to_reference] + comm.subject = @records[:patient].to_reference comm.recipient = [@records[:practitioner].to_reference] comm.status = 'preparation' @@ -69,9 +69,9 @@ def teardown comm_att.title = @attachments[att_type] payload = FHIR::STU3::Communication::Payload.new - payload.contentAttachment = [comm_att] + payload.contentAttachment = comm_att - comm.payload = payload + comm.payload = [payload] create_object(comm, "comm_#{att_type}") end @@ -103,8 +103,8 @@ def teardown assert comm_req, 'No CommunicationRequest returned from server' comm = FHIR::STU3::Communication.new() - comm.subject = [comm_req.subject] - comm.recipient = [comm_req.sender] + comm.subject = comm_req.subject + comm.recipient = [comm_req.sender].compact comm.basedOn = [comm_req.to_reference] comm.status = 'preparation' @@ -114,9 +114,9 @@ def teardown comm_att.title = @attachments[att_type] payload = FHIR::STU3::Communication::Payload.new - payload.contentAttachment = [comm_att] + payload.contentAttachment = comm_att - comm.payload = payload + comm.payload = [payload] create_object(comm, "comm_#{att_type}") end end From 54cd04a9c6206279a3aa244c240aad3e5f9b8375 Mon Sep 17 00:00:00 2001 From: Kenneth Myhra Date: Fri, 1 May 2026 17:07:13 +0200 Subject: [PATCH 4/5] Removed this was seraialized as an array --- fixtures/stu3/terminology/codesystem-simple.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/fixtures/stu3/terminology/codesystem-simple.xml b/fixtures/stu3/terminology/codesystem-simple.xml index c89d5a1..459743b 100644 --- a/fixtures/stu3/terminology/codesystem-simple.xml +++ b/fixtures/stu3/terminology/codesystem-simple.xml @@ -53,12 +53,6 @@ This is not an absolute requirement, but it may be enforced by some servers - for instance, the HL7 valueset registry will. --> - - - - -