mapkon / oc-conversion-tools

openxdata openclinica form conversion tools
code.openxdata.org
Other
8 stars 4 forks source link

Some questions are too short and lack context #93

Closed mapkon closed 12 years ago

mapkon commented 12 years ago

Related to gh-61: Some of the questions returned are too short and do not offer much context in the openxdata context. An example is:

Related to gh-61: Some of the questions returned are too short and do not offer much context in the openxdata context. An example is:

<ItemDef OID="I_CLLC_CLL_MCV_RES" Name="CLL_MCV_RES" DataType="float" Comment="ResultMCV" > <Question OpenClinica:QuestionNumber="Q13b> <TranslatedText> Result? </TranslatedText> </Question> <MeasurementUnitRef MeasurementUnitOID="MU_ΜM<SUP>3</SUP>"/> </ItemDef>


<ItemDef OID="I_CLLC_CLL_HCT_RES" Name="CLL_HCT_RES" DataType="float" Comment="ResultHct"> <Question OpenClinica:QuestionNumber="Q12b> <TranslatedText> Result </TranslatedText> </Question> <MeasurementUnitRef MeasurementUnitOID="MU_%"/> </ItemDef>


<ItemDef OID="I_CLLC_CLL_OLE_PREC" Name="CLL_OLE_PREC" DataType="text" Comment="Other lab test specify"> <Question> <TranslatedText> specify </TranslatedText> </Question> </ItemDef>

mapkon commented 12 years ago

I just added another example... the last example does not correctly show what should be specified?

mapkon commented 12 years ago

I notice that the ItemHeader/ItemSubHeader is sometimes added to the first ItemDef and not the rest.

Take the following two examples:

<ItemDef OID="I_MBA1_MBA1_CONTRA" Name="MBA1_CONTRA" DataType="integer" Length="1" SASFieldName="MBA1_CON" Comment="Contraceptives" OpenClinica:FormOIDs="F_MBA11"> <Question OpenClinica:QuestionNumber="Q1"> <TranslatedText> Are you currently using any contraceptives? </TranslatedText> </Question> <CodeListRef CodeListOID="CL_75" /> <OpenClinica:ItemDetails ItemOID="I_MBA1_MBA1_CONTRA"> <OpenClinica:ItemPresentInForm FormOID="F_MBA1_1" ColumnNumber="1" PHI="No" ShowItem="Yes"> <OpenClinica:LeftItemText>Are you currently using any contraceptives?</OpenClinica:LeftItemText> <OpenClinica:ItemHeader>Initial description of event since last visit/ since delivery</OpenClinica:ItemHeader> <OpenClinica:ItemSubHeader>General questions</OpenClinica:ItemSubHeader> <OpenClinica:SectionLabel>MBA 1</OpenClinica:SectionLabel> <OpenClinica:SectionTitle>MBA 1</OpenClinica:SectionTitle> <OpenClinica:ItemResponse ResponseType="single-select" /> </OpenClinica:ItemPresentInForm> </OpenClinica:ItemDetails> </ItemDef>


<ItemDef OID="I_MBA1_MBA1_CONTRAPREC" Name="MBA1_CONTRAPREC" DataType="text" Length="12" SASFieldName="MBA1_0qd" Comment="Contraceptives type" OpenClinica:FormOIDs="F_MBA11"> <Question OpenClinica:QuestionNumber="Q1a"> <TranslatedText> If yes, what is it? </TranslatedText> </Question> <OpenClinica:MultiSelectListRef MultiSelectListID="MSL_76" /> <OpenClinica:ItemDetails ItemOID="I_MBA1_MBA1_CONTRAPREC"> <OpenClinica:ItemPresentInForm FormOID="F_MBA1_1" ParentItemOID="I_MBA1_MBA1_CONTRA" ColumnNumber="1" PHI="No" ShowItem="Yes"> <OpenClinica:LeftItemText>If yes, what is it?</OpenClinica:LeftItemText> <OpenClinica:SectionLabel>MBA 1</OpenClinica:SectionLabel> <OpenClinica:SectionTitle>MBA 1</OpenClinica:SectionTitle> <OpenClinica:ItemResponse ResponseType="multi-select" /> </OpenClinica:ItemPresentInForm> </OpenClinica:ItemDetails> </ItemDef>

I would expect the second ItemDef with OID=I_MBA1_MBA1_CONTRAPREC to also have ItemHeader and ItemSubHeader in the ItemDetails.

tomhickerson commented 12 years ago

Hi Mark,

Looking at this example, I think what is happening is that the header and subheader are being drawn directly from the metadata, which is drawn directly from the CRF. So, if the CRF has blanks for the header and subheader, then the XML will have blanks too.

Changing this on the application side will force the application to 'guess' which header and subheader to apply among the blanks and nonblanks. This would be much easier if we resolve the ordering question (gh-96) first.

Let me know what your thoughts are on the ordering. Also, is there other metadata you could use in the question text instead, i.e. section labels? Thanks, Tom

mapkon commented 12 years ago

I would propose that for the specific questions I posted above, we find a way of re using the meta data on the prior questions there. The ItemHeader and SubHeaders should surely be the same for those as they are in the same section on the web view. I would imagine there is a way to hack this - no?

tomhickerson commented 12 years ago

Hi Mark, well, the emphasis is on the word 'hack' - it won't be pretty and it probably won't work 100% of the time. Are you sure you want to introduce something like that into the response? Thanks, Tom

mapkon commented 12 years ago

I am totally open to suggestions because ultimately, those questions are not usable right now - we need a way of figuring out how to add context to them.

tomhickerson commented 12 years ago

I committed a fix which addresses the above issue and am closing the ticket. Thanks, Tom

mapkon commented 12 years ago

Re openning because it has created some side effects on some questions. All questions have Item headers and sub headers but some item header/sub headers are unrelated for some of the questions e.g. ItemDef with OID="I_CEAC_INIT" has unrelated ItemHeader/SubHeader meta data.

tomhickerson commented 12 years ago

The change has been rolled back. Let me know if there's anything else to be done here, otherwise you can close. Thanks, Tom

mapkon commented 12 years ago

Tom, I have verified that rollback. I have to mention though that the order is messed up. The Collection Date/Result sequence of questions in the ItemGroupDefs is no longer guaranteed - so this is something you should look into.