Create "virtual" samples for cases when no specimen is received
This use case has always been a bit awkward to handle. The information that goes with the non-existing specimen (eg. PAD, operation date, etc.) has been added to the "Case" item that is the parent item to the (non-existing) specimen. This was ok when only a single non-existing specimen was associated with a case, but new routines may increase the likelihood that a single "Case" may be merged with more than one no-specimen event. This is messy and one will have to go back to the physical referral forms to know which PAD is associated with which date, etc.
So, the idea is that we should create a "virtual" sample with the subtype "NoSpecimen" to represent events when no specimen is received. The annotations that are used for normal "Specimen" (eg.
SamplingDate) should be used. This means that there is no longer any need for duplicating information on the parent "Case" item so the
SamplingDateCase, etc. are no longer needed.
A manual procedure is needed to fix already existing cases that has a no-specimen associated with them. Basically, one has to find all 'Case' items that has a value for
ReasonIfNoSpecimen annotation. Then, a new child item with subtype 'NoSpecimen' should be created and the PAD, and other information copied to it. This should be relatively easy for the majority of the cases which are not merged with other cases. This can probably be handled by batch importers.
There are a few cases that are merged. Further investigation is needed before we know how to handle those.